Include在生产服务器上的phar存档内失败,但在本地开发服务器上没有

时间:2012-02-04 10:25:58

标签: php phar

给出的错误是

include(): Failed opening 'phar:///var/www/vhosts/redsoftware.us/assets/RedSoftware/app/libs/goutte/goutte.phar/_cli_stub.php' for inclusion (include_path='phar:///var/www/vhosts/redsoftware.us/assets/RedSoftware/app/libs/goutte/goutte.phar:.:') 

似乎正在加载phar存档,但是当它尝试包含某些资产时,它会失败。我甚至不知道从哪里开始排除故障。它在我的本地机器上运行得很好但是当我将它上传到生产服务器时(如果重要的话运行plesk)它会失败。

Phar似乎已启用。来自phpinfo():

  

已注册的PHP Streams

     

https,ftps,compress.zlib,compress.bzip2,php,file,glob,data,http,ftp, phar ,zip

任何可能导致此问题的想法?

1 个答案:

答案 0 :(得分:1)

我在这里遇到的问题源于较早版本的Ioncube与phar档案有问题。

摘自http://silex.sensiolabs.org/doc/usage.html#pitfalls

  

Ioncube加载程序是一个可以解码PHP编码文件的扩展程序。不幸的是,旧版本(版本4.0.9之前)与phar档案不兼容。您必须将Ioncube加载程序升级到版本4.0.9或更高版本,或通过在php.ini文件中注释或删除此行来禁用它:

zend_extension = /usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.3.so

感谢@Maerlyn喜欢那篇文章。