На сервере используется nginx, apache2, mod_fcgid + eAccelerator, собранный из исходников.
Debian 5.0.7, PHP 5.2.6, nginx 0.6.32, apache 2.2.9
Конфигурация следующая:
eaccelerator.ini
Код: Выделить всё
extension="eaccelerator.so"
eaccelerator.shm_size="256"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="16M"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="1800"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Код: Выделить всё
# sysctl -a | grep shm
kernel.shmmax = 268435456
kernel.shmall = 2097152
kernel.shmmni = 4096
Многие грешат на недостаточную стабильность функционирования eAccelerator. Самому пришлось с этим столкнуться - периодически (раз в неделю) на протяжении минут 10 получаем Internal Server Error, а в логах:
Код: Выделить всё
[notice] mod_fcgid: call /***/index.php with wrapper /var/www/***/data/php-bin/php
eAccelerator: shmmax should be at least 2MBPHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
Посматриваю в сторону PHP-APC. Радует его наличие в официальном репозитарии, а это вселяет надежду на более стабильное функционирование.
Сталкивался ли кто-либо с подобной проблемой? Или есть опыт использование PHP-APC?