在基于Ubuntu 13.10 x64的NGINX,PHP-FPM(5.5)堆栈上使用以下命令安装最新的ioncube加载器
cd /usr/local
sudo wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
sudo tar xzf ioncube_loaders_lin_x86-64.tar.gz
mv /usr/local/ioncube/* /usr/lib/php5/20121212/
并将以下行添加到php.ini
zend_extension = /usr/lib/php5/20121212/ioncube_loader_lin_5.5.so
在我的项目错误日志中出现以下错误
... was encoded by the ionCube Encoder for PHP 5 and cannot run under PHP 5.5. ...
我做错了什么?
答案 0 :(得分:1)
这意味着文件的开发人员生成它们以在PHP 5.0及更高版本上运行,并且这些文件无法使用PHP 5.5运行(请参阅@ efarid08评论' s off mark mark)。它们应该可以与PHP 5.4一起使用,你可以要求文件开发人员生成一个针对PHP 5.3及更高版本的版本。除了这些文件,然后能够在PHP 5.5上工作,它们也应该运行得更快,因为它们更接近目标语言,并且可以利用一些更有效的内部机制来处理某些PHP语言功能。更好的方法是让开发人员使用PHP 5.5编码器直接针对PHP,这些编译器包含在8.3版本中的更新中。
因此,要么使用PHP 5.4,要么尽可能采购更新的编码文件。您也可以通过http://ioncu.be/S联系ionCube支持以获取帮助。
免责声明:我与ionCube相关
答案 1 :(得分:0)
来自ioncube支持的引用让我感到恶心,他们正试图把责任归咎于PHP,而现实情况是,离子立方体开发人员很懒,并且显然不会给出该死的。 PHP 5.4和PHP 5.5之间的差异非常小,大部分时间都不需要在PHP脚本中进行任何更改。 PHP 5.5非常稳定,比PHP 5.3.x更安全。他们是错的,而且他们很懒惰,而他们的qoute让我感到恶心和愤怒。
答案 2 :(得分:0)
验证您是否能够访问该文件: 只是做
string file = @"C:\Path";
using (StreamReader SR = new StreamReader(file))
{
string line;
while ((line = SR.ReadLine()) != null)
{
string[] Splitline = line.Split(',');
// Do what you want with each array line
}
}
同样对于Ubuntu,ioncube应该通过ls -al /usr/lib/php5/20121212/ioncube_loader_lin_5.5.so
加载
在/etc/php5/fpm/php.ini