У меня есть сервер CentOS 5.4 с Apache 2.2.3, mod_fastcgi и PHP 5.2.11. Все работает отлично, сервер является производственным, и у меня нет никаких претензий. Когда я просматривал журнал ошибок PHP, чтобы диагностировать проблему с определенной страницей, я видел следующее, периодически повторяющееся снова и снова:
[03-May-2010 19:54:12] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/apc.so' - /usr/lib/php/modules/apc.so: undefined symbol: php_rfc1867_callback in Unknown on line 0
[03-May-2010 19:54:12] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/pdo_mysql.so' - /usr/lib/php/modules/pdo_mysql.so: undefined symbol: php_pdo_get_dbh_ce in Unknown on line 0
[03-May-2010 19:54:12] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/apc.so' - /usr/lib/php/modules/apc.so: undefined symbol: php_rfc1867_callback in Unknown on line 0
[03-May-2010 19:54:12] PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/pdo_mysql.so' - /usr/lib/php/modules/pdo_mysql.so: undefined symbol: php_pdo_get_dbh_ce in Unknown on line 0
Я очень запутался, потому что APC является загружен, я вижу это в выводе phpinfo (). И, судя по сообщениям об ошибках, вообще ничего не должно работать. Тем не менее, сайты, похоже, работают нормально. Как мне отследить источник этой ошибки?
Я нашел виновника, есть какое-то задание cron, которое запускает другую версию PHP (/usr/bin/php
против /usr/local/bin/php
), и это вызывает эту проблему.