問題タブ [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 - PharData::extractTo 抽出ファイルのファイル形式は何ですか?
extractTo
PHPクラスのメソッドを使用しPharData
て phar ファイルの内容を調べ、いくつかのストレージ結果を実行しています。バイト レベルの調査作業の限界に達したので、ここの誰かがこれを整理するのを手伝ってくれることを期待していました。
詳細は次のとおりですが、一般的に言えば、 でアーカイブ ファイルを抽出するとPharData::extractTo
、取得したファイルは亜種のように見えますbzip
が、bzip2
コマンドはそれらを好みません。これは正常phar
な動作ですか、それとも特定のアーカイブの問題ですか? (または、私が使用している PHP/OS の組み合わせの可能性もあります)。phar アーカイブからプレーン テキスト ファイルを取得する方法はありますか? または、プレーン テキストをデフォルトにする必要がありますか?
具体的には、コマンドを実行すると
私の OS 10.6.8 では、組み込みの PHP 5.3.6 を使用する Intel ベースの Mac で、アーカイブは /tmp/n98-magerun フォルダーに正常に抽出されます。
抽出中のアーカイブは、ここにあります。
BBEdit で抽出したテキスト ファイルを開くと、正しい内容が表示されます。
ただし、quicklook、、、vi
またはなどの他のツールを使用すると、cat
バイナリ データが表示されます。ファイルの内容を調べようとしたときにこれに気付きましたack
が、期待した結果が得られませんでした。grep
ファイルに対してコマンドを使用するとfile
、それがファイルであると報告されbzip
ます。
16進エディタでファイルを調べると、ファイルがBZ
ヘッダーで始まることが確認されます
ただし、ファイルを解凍しようとするとbzip2
、次のエラーが発生します
bzcat
これでファイルの途中でバーフしますが、ファイルを正常に取得できます
php - open-basedir ディレクティブに PHAR アーカイブへのパスを含める方法は?
ローカルの開発マシンでcomposerを使用しようとしていますが、PHAR アーカイブから何かをコピーしようとすると常に失敗します。
E:\xampp\php\composerはopen_basedirディレクティブに含まれており、その場所でのファイルの読み取りと書き込みは正常に機能しますが、PHAR アーカイブ内のファイルへのアクセスのみは機能しません。次のパスを追加しようとしました:
しかし、どれも役に立たず、同じエラーでまだ失敗しています。
PHAR アーカイブへのパスを含める特別な方法はありますか? それはまったく可能ですか?それはすぐに必要ですか?これはこのバグと関係があるのでしょうか: https://bugs.php.net/bug.php?id=64634 ?
私のシステム: Windows 7 x64、XAMPP 1.8.1、Apache 2.4.3、PHP 5.4.7
更新:最新の安定した PHP 5.4.14 も試してみましたが、同じ問題です。
php - phar アーカイブ経由で firephp を含める
phar アーカイブを使用して firephp をインストールしようとしています。ハウツーはここで説明されています:firephp install
しかし、この方法で試してみると、phar ファイルを含めることに問題があります。
しかし、私のPHPの出力は次のとおりです。
「インクルード パス」が適切な場所に設定されていることがわかるように、ここで私のフォルダー構造を確認できます。
問題はどこだ!?
ちょっとした情報: ドイツ語版の MAC OS では、フォルダー アプリケーションは自動的に "Programme" と呼ばれます。ただし、パスは常に /Applications/ です。端末を使用している場合は、常に「アプリケーション」が表示されます
symfony - Composer.phar "/tmp の名前を変更できませんでした..."
FOSUserBundle をインストールしたい composer.json に追加しました "friendsofsymfony/user-bundle": "*"
このコマンドを実行するphp composer.phar update friendsofsymfony/user-bundle
と、メッセージが表示されます
しかし、一時フォルダーはどこにありますか? Web サーバーに tmp フォルダーが表示されません。Web サーバーに fos を追加しようとしています。Symfony 2.1.x と Ubuntu を使用しています
php - .phar をインクルードして参照する方法
私のディレクトリは次のようになります
次に、私のコードは次のようになります。
これは正しい方法ですか?
エラーなどは表示されないので、機能しているかどうかはわかりません。
php - phar を参照しなくても、php アプリを phar としてデプロイする方法
私の php (silex) ベースの Web を phar としてデプロイすることに興味があります。アプリは、私が制御していない Mac と Windows サーバーの両方に展開されます。しかし、私はphp5.3を要求することができます.
ブラウザで phar ( http://server.com/myphar.phar ) に直接アクセスすると、phar ファイルを認識するように Web サーバーをセットアップしない限り、php は実行されません。少なくともそれが起こっていると思います。
ユーザーがブラウザーで直接 phar にアクセスする必要なく、アプリを Phar としてデプロイするにはどうすればよいですか?
php - Phar::webPhar() はフロント コントローラでのみ使用されますか?
Phar::webPhar() を使用する理由はありますか? ブラウザーで直接 Phar にアクセスして、PHP Web アプリのフロント コントローラーとして使用していない場合、何か理由はありますか?
Phar::webPhar を必要とする関数が他に 2 つあります。
- void Phar::mungServer
- Phar::interceptFileFuncs()
フロントコントローラーとしての phar の場合以外に、これらの機能に利点はありますか?