【问题标题】:Is ioncube loader working in my case?ioncube loader 在我的情况下工作吗?
【发布时间】:2016-02-04 11:35:47
【问题描述】:

我使用 Putty 安装了 ioncube loader。使用 php -v 检查,显示

Zend Engine v2.4.0,版权所有 (c) 1998-2014 Zend Technologies 使用 ionCube PHP Loader(已启用)+ ioncube24.com(未配置)v5.0.19 的入侵保护,版权所有 (c) 2002-2015,ionCube Ltd.

但是,我在我的网站中插入了一个包含以下代码的页面以进行检查:

<?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中

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

【问题讨论】:

    标签: php server debian


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      首先,进入您的终端并输入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 进行测试。

      希望这会有所帮助。

      【讨论】:

      • 大部分是正确的,但是which php 将位置提供给 PHP 可执行文件而不是 ini 文件。由于 PHP 5.2 系列的中途,有一个选项 --ini 给出了 ini 文件的位置,所以使用它。例如$ /usr/local/src/php-7.1.9/sapi/cli/php --ini Configuration File (php.ini) Path: /usr/local/lib Loaded Configuration File: /usr/local/lib/php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
      猜你喜欢
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      相关资源
      最近更新 更多