Здравствуйте, уважаемые.
По скольку в этой ветке говорят про оптимизацию, то вряд-ли кто-то не согласится с тем, что такой механизм, как eAccelerator имеет прямое отношение к ускорению работы php-подсистемы сервера в целом и сайта на Joomla 1.6 в частности.
Но вот незадача.
Не получается Loomla 1.6 (перепробовал все версии от бэты до 1.6.3) с этим eAccelerator'ом подружить.
Открываю, значит, главную страницу сайта. Всё нормально.
Как только пытаюсь перейти по любой ссылке меню или открыть любой материал по ссылке "Подробнее", сразу получаю «502 Bad Gateway».
В логах сервера следующее:
/var/log/php-fpm.logJun 08 14:57:09.443686 [WARNING] fpm_stdio_child_said(), line 158: child 28826 (pool default) said into stderr: "[28826] EACCELERATOR: PHP crashed on opline 3 of getClientInfo() at /var/www/sites/mysite.ru/libraries/joomla/application/helper.php:68"
Jun 08 14:57:09.447686 [WARNING] fpm_stdio_child_said(), line 158: child 28826 (pool default) said into stderr: "", pipe is closed
Jun 08 14:57:09.447686 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
Jun 08 14:57:09.447686 [WARNING] fpm_children_bury(), line 215: child 28826 (pool default) exited on signal 11 SIGSEGV after 19.688340 seconds from start
Jun 08 14:57:09.447686 [NOTICE] fpm_children_make(), line 352: child 28830 (pool default) started
Из этого следует, что как только Joomla пытается работать с файлом /var/www/sites/mysite.ru/libraries/joomla/application/helper.php, так на 68 строке отваливается один из рабочих процессов php и запускается новый.
/var/log/nginx/mysite.error.log2011/06/08 14:57:09 [error] 5296#0: *772801 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: XXX.XXX.XXX.XXX, server: www.mysite.ru, request: "GET /vakuumnoe-maslo-vm-1s.html HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/default.socket:", host: "www.nppapparat.ru", referrer: "http://www.mysite.ru/about.html"
Из этого следует, что появляется ошибка и php сбрасывает соединение с nginx при поступлении такого запроса.
Эта ошибка появлялась сразу при установке Joomla 1.6 "с нуля" на чистой базе. Т.е. мне приходилось вносить в фильтр eAccelerator'а папку моего сайта, как исключение, либо полностью отключать eAccelerator и перезапускать php-fpm.
Только так удавалось установить Joomla и только так она работает.
Система:Платформа, на которой работает PHP: Linux localhost 2.6.26-2-xen-686 #1 SMP Thu Jan 27 05:44:37 UTC 2011 i686
Версия базы данных: 5.0.51a-24+lenny5
Версия PHP: 5.2.6-1+lenny9.fpm.1
Веб-сервер: nginx/0.9.3
Интерфейс между веб-сервером и PHP: cgi-fcgi
Версия Joomla!: Joomla! 1.6.3 Stable [ Onward ] 18-Apr-2011 23:00 GMT
Конфигурация eAccelerator (/etc/php5/conf.d/eaccelerator.ini):[eaccelerator]
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="900"
eaccelerator.shm_prune_period="60"
eaccelerator.shm_only="1"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
extension=eaccelerator.so
Кто-нибудь сталкивался с таким? Как побороть? Есть соображения какие-нибудь?