1

使用以下命令在基于 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. ...

我究竟做错了什么?

4

3 回答 3

1

这意味着文件的开发者生成它们以在 PHP 5.0 及更高版本上运行,并且此类文件不能在 PHP 5.5 上运行(请参阅@efarid08 的评论)。它们应该可以在 PHP 5.4 上正常工作,您可以要求文件的开发人员生成一个针对 PHP 5.3 及更高版本的版本。除了这些文件能够在 PHP 5.5 上运行之外,它们还应该运行得更快,因为它们与目标语言更接近,并且可以利用一些更有效的内部机制来处理某些 PHP 语言特性。更好的做法是让开发人员使用 8.3 版更新中包含的 PHP 5.5 编码器直接针对 PHP。

因此,要么使用 PHP 5.4,要么尽可能购买更新的编码文件。您也可以随时通过http://ioncu.be/S联系 ionCube 支持以寻求帮助。

免责声明:我与 ionCube 相关联

于 2014-04-22T18:09:20.400 回答
0

ioncube 支持的引述让我感到恶心,他们试图将责任归咎于 PHP,而现实是 ioncube 开发人员很懒惰,而且显然不在乎。PHP 5.4 和 PHP 5.5 之间几乎没有什么不同,大多数时候不需要对 PHP 脚本进行任何更改。PHP 5.5 非常稳定,比 PHP 5.3.x 更安全。他们是错的,他们是懒惰的,他们的言论让我感到恶心和愤怒。

于 2014-04-08T09:34:00.110 回答
0

验证您是否能够访问该文件:只需执行

ls -al /usr/lib/php5/20121212/ioncube_loader_lin_5.5.so

同样对于 Ubuntu ioncube 应该通过/etc/php5/fpm/php.ini 以下部分加载[Dynamic Extensions]

于 2016-03-24T22:13:07.167 回答