ioncube加载程序在我的情况下工作吗


Is ioncube loader working in my case?

我用Putty安装了ioncube加载程序。使用php-v进行检查,它显示

Zend Engine v2.4.0,版权所有(c)1998-2014 Zend Technologies使用ionCube PHP加载器(已启用)+来自ioncube24.com的入侵保护(未配置)v5.0.19,版权所有(c)2002-2015,由ionCube有限公司提供

然而,我在我的网站上插入了一个带有以下代码的页面进行检查:

<?php
phpinfo();
?>

但它并没有显示ioncube加载程序已启用。

我还用过:

<?php
echo var_export(extension_loaded('ionCube Loader') ,true);

结果返回false。

我的服务器API是CGI/FastCGI,所以我已经包含了

zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.4.so

在以下文件/etc/php5/cgi/php.ini 中

我想知道它是否真的有效?

随着时间的推移,一个常见的错误是CLI和web服务器的主要PHP版本不同,因此您的网站可能不使用PHP 5.4。另一个解决方案是对网站和cli使用不同的php.ini,或者在cgi系统上,将php.ini与web请求放在同一位置,覆盖主php.ini。在这种情况下,可能还需要重新启动web服务器软件或fastcgi池。

首先,转到您的终端并键入which php,这将显示计算机上安装的php当前使用的特定php.ini文件的目录。

打开php.ini文件,并在php.ini文件中加载任何其他Zend扩展名之前添加此行zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.4.so

还要注意,ionCube加载程序ioncube_loader_lin_5.4.so仅适用于PHP 5.4。*

确保你已经将文件复制到你所说的目录中,你可以通过绑定cd ~sudo find /usr/local/ioncube/ioncube_loader_lin_5.4.so来验证,以确保文件位于那里,如果是,终端将返回显示找到它的文件名。

现在保存对php.ini文件所做的更改,并运行命令sudo apachectl restart对于Apache服务器)来重新启动服务器。

再次从您的终端使用php -v进行测试。

希望这能有所帮助。