Как то недавно я обновил XCache с 2.0.1 до 3.0.1, но PHP перезапустить забыл. Долгое время все работало хорошо, но сегодня PHP пришло перезапустить. Попытаюсь зайти на свой сайт — белая чистая страничка (фатал еррор). Сделал dispatch-conf и увидел, что теперь в /etc/php/fpm-php5.4/ext/xcache.ini нужно произвести замену
zend_extension=/usr/lib64/php5.4/lib/extensions/no-debug-zts-20100525/xcache.so
на
extension = xcache.so
Казалось бы, все должно заработать, но не тут то было, теперь — 502 Bad Gateway. Причем Bad Gateway абсолютно на всех хостах, где xcache даже не используется. Ошибка пропадает, когда убираю из /etc/php/fpm-php5.4/ext/xcache.ini строки:
xcache.size="512M" xcache.var_size="8M"
Но возникает другая проблема (в WordPress, например):
Warning: xcache_get(): XCache var cache was not initialized properly. Check php log for actual reason in wp-content/plugins/w3-total-cache/lib/W3/Cache/Xcache.php on line 158 Warning: xcache_set(): XCache var cache was not initialized properly. Check php log for actual reason in wp-content/plugins/w3-total-cache/lib/W3/Cache/Xcache.php on line 55 Warning: xcache_set(): XCache var cache was not initialized properly. Check php log for actual reason in wp-content/plugins/w3-total-cache/lib/W3/Cache/Xcache.php on line 55
Данные ошибки достаточно логичны, потому что для использования xcache_set() необходимо указать количество памяти в переменной xcache.var_size.
Смотрю логи — /var/log/message:
May 1 05:16:47 home kernel: php-fpm[7094]: segfault at 10 ip 00007f8d48d6c394 sp 00007fff2876ba30 error 4 in libpthread-2.15.so[7f8d48d62000+18000] M
Итого: снова проблемы с threads в PHP.
Решение — пересобрать PHP без threads. Для Gentoo — в /etc/portage/package.use:
dev-lang/php ... -threads ...
0 Комментарии。