加载 Ioncube 失败

加载 Ioncube 失败

我最近将一台小型服务器升级到 Ubuntu 12.10(从 12.04 开始),从而将 PHP 从 5.3 升级到 5.4。但是,我每天都会在 root 的邮箱中收到几次这样的信息:

Subject: Cron <root@xxxxxxx>   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: xxxxxxxxxxxxxxxxxxxxxxxx
Date: Sun,  9 Dec 2012 05:09:02 -0500 (EST)

Failed loading /usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.3.so:  /usr/lib/php5/20090626+lfs/ioncube_loader_lin_5.3.so: undefined symbol: php_body_write

我猜想这是因为它适用于 PHP 5.3。我怎样才能摆脱 ioncube?我不需要它,我甚至不记得安装过它。那个 .so 文件不存在,我已经在多个位置搜索了“ioncube”,但我似乎无法弄清楚如何阻止该消息充斥邮箱。

答案1

通常在php conf.d目录中有一个特定的ioncube.ini文件

/etc/php5/conf.d/ioncube.ini

只要删除这一个,警告就会停止。

答案2

dpkg-reconfigure php5-ioncube-loader在我的服务器上解决了它

答案3

zend_extension您的里面应该有一行/etc/php.ini- 删除它。

如果不存在,请尝试locate php.ini。如果没有locate(例如,您尚未运行updatedb),则使用find / -name php.ini

如果不起作用,您可以在命令行上收到此错误strace

strace -f -e trace=open php /path/to/script.php 2>&1

其中一个是配置文件。如果不是(例如,您看到一个打开的尝试ioncube_*.so,但没有一行*.ini包含它),那么您的 PHP 脚本很可能正在尝试dl()它。

答案4

在 /etc/php.d/ 文件夹下必须有 ioncube.ini 文件,通常看起来像 20-ioncube.ini,您可以删除此文件并尝试使用 yum install php-ioncube-loader 重新安装 ioncube 加载器

相关内容