PHP 5.5的Ioncube难度

时间:2014-04-08 09:30:24

标签: php ubuntu encryption nginx ioncube

在基于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. ...

我做错了什么?

3 个答案:

答案 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

部分下