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