問題タブ [phar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Phar アーカイブ内の SQLite データベース
Phar アーカイブ内の PDO 拡張を介して SQLite データベースにアクセスしようとしていますが、エラーが発生します:
例外 'PDOException' とメッセージ 'SQLSTATE[HY000] [14] データベース ファイルを開けません'
PHP のマニュアルには、アーカイブ内のファイルを変更できると書かれています。どうすれば修正できますか?
symfony - Laravel4 または Symfony2 コマンドを phar アーカイブにパックする
IronWorker を使用して、多数のスケジュールされたタスクを実行することを検討しています。
( http://dev.iron.io/worker/ )
これが機能するためには、Iron に送信する前に、必要なものすべてをパッケージ化できる必要があります。そして、私がそうするとき、実際にそれを実行するには「php」と言うことができる必要があります。
ただし、現在の(Laravel 4)プロジェクトの場合、コマンドは実際には「php artisan command:commandname」として実行されます。
私の質問:
Laravel インストール全体を phar アーカイブにパッケージ化し、その phar がその特定のコマンドの実行を直接指すようにするにはどうすればよいですか?
(注: Symfony2 でこれを行う方法を誰かが知っている場合は、先に進んでください。どちらも非常に似ていると確信しています)
ありがとう、
ディーター
php - phar ストリームを使用した require ファイルが ZendStudio 内で機能しない
ZendStudio 内で非常に奇妙な問題に取り組んでいます。phar 拡張 phar:// ストリーム ラッパーを使用して phar アーカイブ内にファイルを含めたり要求したりすることは、ZendStudio 内からは機能しません。
これが私がやったことです。
次のファイル構造があるとします。
次の内容で:
phar/Test.php:
pharbuilder.php:
usephar.php:
ここで、最初に ZendStudio で pharbuilder.php を実行すると (ZS 8: ファイルを右クリックし、PHP スクリプトとして実行)、phar ファイル (test.phar) が正常に作成されます (実行する前に、ini オプションを追加する必要があります)。phar.readonly=0
対応する php.ini に)。ただし、ZS 内で usephar.php を実行すると、エラーが発生します。
したがって、明らかに、ファイルは見つかりますが、含めることはできません。を使用して、ファイル内の Test.php のコンテンツにアクセスすることもできます。file_get_contents('phar://' . __DIR__ . '/test.phar/Test.php')
また、このスクリプトの実行構成を変更し、「実行時にデバッグ情報を表示する」チェックボックスを無効にすると、これは発生しないことに気付きました。したがって、ZendDebugger と関係があると思いますが、よくわかりません。
コンソールから同じスクリプトを実行すると、すべて正常に動作します。
ZendStudio 8 および 10 と、ZS が提供するすべての php バージョン (5.4.11、5.3.21、5.3.3 すべて CGI および CLI) でこれを試しました。
同じ問題を抱えている人を他に見つけることができなかったので、私は何か間違ったことをしていると思い、どんな提案も受け入れます. おそらく、いくつかの秘密の php.ini ディレクティブまたはこのようなものです。
php - mod_rewrite は phar でどのように動作しますか?
Web アプリケーションのソース ディレクトリから phar アーカイブを作成しました。このディレクトリには、「css」および「js」ディレクトリも含まれています。静的ファイルは、html では /css/xyz.css などとしてアドレス指定されます。アプリケーションにアクセスしようとすると、html は正常にロードされますが、静的ファイルはロードされません。/css/xyz.css を /app.phar/css/xyz.css にマップする Apache 書き換えルールを追加しようとしましたが、うまくいきません。打つたびに
index.php を読み込んでいます。
/app.phar/css/xyz.css へのすべての静的ファイル参照を変更する必要がありますか? phar ファイルに関連する静的ファイル URL は正常に機能しています。
また、phar を使用する場合、mod_rewrite は完全に使用できませんか?
ありがとう!
php - phar クラスが見つかりません
PHP「composer」の依存関係マネージャーをインストールしようとしていますが、「composer」には拡張子「phar」が必要です。php6にはデフォルトでpharが付属していますが、無効になっており、「phar」ファイルを実行するために必要ではないことに気付きました。
「composer.phar」(cmd: php composer.phar) を実行しようとすると、エラーがスローされます。
Fatal error: Class 'Phar' not found in composer.phar on line 13.
Composer インストーラーを実行しようとすると、"installer.php" (cmd: php インストーラー.php 内) で次のエラーがスローされます。
Some settings on you machine make composer unable to work properly. Make sure that you fix the issues listed below and run this script again:
phar 拡張子がありません。どうすればこれを修正できますか?
--disable-phar
appserv 2.6.4 (apache 2.2、php6、mysql 4) を使用せずに、それをインストールするか、php を再コンパイルする必要があります。
php - PHP Phar デプロイメントのパフォーマンス
本番環境でアプリを実行するために必要なコードの単一の phar アーカイブがビルドの出力によって生成されるように、PHP アプリのデプロイ プロセスを設計することを検討しています。この方法で Web アプリを展開するパフォーマンスと、ソース ツリー自体を Web サーバーのドキュメント ルートにチェックアウトまたはコピーする従来のモデルとの比較について疑問に思っています。
パッケージ化されたアプローチには、パッケージが CI サーバーによって完全に準備され (たとえば、テスト コードを削除する)、単一のアーカイブが展開用にサーバーにコピーされるという利点があります。元のアーカイブもリポジトリに保存できます。
ただし、アプリを phar として実行するとボトルネックが発生する場合は、このアプローチを使用したくありません。phar からソースをロードする際に問題はありますか? アプリは、コンポーザーによる自動読み込みを使用してソースを読み込みます。
php - PHP Phar - file_exists() の問題
私の Phar スクリプトは、fwrite を使用して新しいファイルを作成します。これは正常に動作し、phar ファイルと同じディレクトリに phar の外に新しいファイルを作成します。
しかし、その後 if(file_exists('file.php')) を使用すると、それは拾われません。
しかし、それを含めて、それを拾う必要があります。
誰でもこの問題について知っていますか?しばらくの間、テストと調査を行ってきましたが、解決策が見つからないようです。
orm - ZF2 Doctrine ORM コンソール アプリケーション - phar アーカイブとしての実行でエラーが発生しました
簡単に ZF2 コンソール ベースのアプリケーションを作成しました。ソースがあります: https://github.com/vagovszky/console。アプリは、XML からデータベースにコースをインポートするように設計されています。アプリが phar にパックされるまで、すべて正常に動作します。
このアプリケーションを (README.md で説明されているように) phar アーカイブにパックして実行すると、エラーが発生しました:
Doctrine\ORM\Mapping\MappingException クラス "Database\Entity\Ligues" は有効なエンティティまたはマップされたスーパー クラスではありません。
この問題を解決する方法がわかりません。助けてくれてありがとう。
phpunit - PHPUnit、Phar、およびそのようなファイルやディレクトリはありません
http://phpunit.de/manual/3.8/en/installation.htmlで説明されているように、phar を使用して PHPUnit をインストールしました。
実行するphpunit --version
とうまくいきます。ただし、テストを実行しようとすると、次のエラーが表示されます。
PHP警告:require(PHPUnit/Autoload.php):ストリームを開くことができませんでした:(何とか、何とか、何とか)にそのようなファイルまたはディレクトリはありません...
phar は /usr/local/bin にインストールされ (推奨)、このパスを cli の php.ini の include_path に追加しました。
何か案は?