Phar错误,找不到stub.php

时间:2011-03-13 17:55:53

标签: php phar

我创建了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的存档。

我两次都犯了同样的错误。

2 个答案:

答案 0 :(得分:2)

我用以下内容替换了include(): set_include_path('phar://z3.phar' . PATH_SEPARATOR . get_include_path());

它按预期工作。

我错误地认为包括一个带有空存根的phar会产生同样的事情。

答案 1 :(得分:0)

您的PHP解释器没有启用phar://流包装器(请参阅phpinfo)。这就是你得到这个错误的原因 而且你实际上应该只是使用:

include("z3.phar");

这应该运行stub file。如果你有一个虚拟存根文件,那当然没用。但是,可以让存根文件包含来自http://pear.php.net/package/PHP_Archive的phar://实现 - 这将允许.phar在没有内置phar://流包装器支持的PHP解释器上运行。

我可以发誓,我已经读到了某个地方。但为简单起见,您可以手动包含PHP_Archive并启用phar://支持这种方式。

stream_wrapper_register('phar', 'PHP_Archive');