Назад | Перейти на главную страницу

Не удалось загрузить ионный куб

Недавно я обновил небольшой сервер до 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" и не могу понять, как предотвратить переполнение почтового ящика этим сообщением.

Обычно в каталоге php conf.d есть определенный файл ioncube.ini.

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

Просто удалите это, и предупреждения прекратятся.

dpkg-reconfigure php5-ioncube-loader решил это на моем сервере

Должен быть 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 и ни один из *.inis содержат строку для него), то, скорее всего, ваш PHP-скрипт пытается dl() Это.