7

PHP 5.3 PHAR アーカイブを少しテスト/スクリプト作成/再生した後、いくつかの問題を発見しました。

グロブ

PHAR は glob では機能しません。ラッパー ( http://www.php.net/manual/en/phar.using.stream.php#104320 ) としても、関数呼び出しとしても。

私のテスト プロジェクトでは、PHAR 内のファイルを繰り返し処理し、グロブに相当する正規表現で結果をフィルター処理する必要がありました。

imagettfbbox

理由はわかりませんが、imagettfbbox も PHAR ストリーム ラッパーを理解していません。

ここでの最も簡単な解決策は、copy() を介してファイルを抽出することでした。(PHAR::extractTo は、スタックトレースも行番号もなしで例外を返します。)

私が期待すべき他の驚きはありますか?他に既知の問題はありますか? そして、それらはどこかに文書化されていますか?

4

2 に答える 2

4

silexマイクロフレームワークはpharファイルとして配布されます。発生した問題のほとんどは、ドキュメントの落とし穴のセクションに記載されています(アーカイブされたコピー)。

注:これは主にユーザーの観点からです。

于 2011-11-21T15:43:12.790 に答える
2

glob: glob がストリームをサポートしているとは思わないので、これはphar://ストリーム ラッパーに固有のものではありません。

imagettfbbox : これは同じだと思います。ストリーム ラッパーはサポートされていませんが、ベア ファイルのみがサポートされています。

他にも機能があり、同じものに遭遇します。たとえば、ZIP クラスはストリームも処理できません。

また、すべてのストリーム ラッパーがストリーム ラッパーのスタッキングをサポートしているわけではありません。

php バグトラッカーで自由に機能リクエストを開くか、PHP 開発をサポートして、必要なコンポーネントのより良いストリーム サポートを導入してください。

大まかに関連: メモリ内ダウンロードと zip アーカイブの抽出

于 2011-11-21T09:34:49.327 に答える