1

Zend Framework の Phar アーカイブを作成しましたが、次のエラーが表示されます。 Warning: include(): Failed opening 'phar://z3.phar/stub.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php')

これは私が使用したstub.phpです: <?php __HALT_COMPILER();

http://empir.sourceforge.net/を使用してアーカイブを作成しまし た。また、ブログのチュートリアルを使用して、empir なしでアーカイブを作成してみました。

どちらの場合も同じエラーが発生しました。

4

2 に答える 2

2

include () を次のように置き換えました。 set_include_path('phar://z3.phar' . PATH_SEPARATOR . get_include_path());

そしてそれは意図したとおりに機能しました。

私は、空のスタブを持つ phar を含めても同じことが達成されると誤って信じていました。

于 2011-03-13T23:58:11.693 に答える
0

PHP インタープリターでストリーム ラッパーが有効になっていませんphar://(phpinfo を参照)。そのため、このエラーが発生します。
さらに、実際には次のものを使用する必要があります。

include("z3.phar");

これは、スタブ ファイルを実行することになっています。そこにダミーのスタブファイルがある場合、これはもちろんほとんど役に立ちません。ただし、スタブ ファイルにhttp://pear.php.net/package/PHP_Archiveからの phar:// 実装を含めることは可能です。これにより、組み込みの phar:// ストリーム ラッパー サポートなしで .phar を PHP インタープリターで機能させることができます。 .

私はどこかでそれを読んだことを誓うことができます. しかし、簡単にするために、PHP_Archive を手動でインクルードし、この方法で phar:// サポートを有効にすることができます。

stream_wrapper_register('phar', 'PHP_Archive');
于 2011-03-13T18:26:56.267 に答える