Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя FreeBSD После установки eAccelerator php выдает ошибку

После установки eAccelerator php выдает ошибку

После установки eAccelerator на FreeBSD 6.2 некоторые php-скрипты стали выдавать ошибку:
PHP Fatal error: Out of memory (allocated 13369344) (tried to allocate 3145968 bytes) ...
PHP 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
Решение вопроса  - уменьшаем значение параметра “eaccelerator.shm_size”
Он был установлен в 128 Мб, устанавливаем на 32 Мб  и все заработало. В FreeBSD максимальный размер совместно используемой (shared) памяти не задается напрямую, и  его нельзя просто увеличить. Читать далее
Значение SHMMAX вычисляется из параметров SHMMAXPGS и PGSIZE, по формуле :
SHMMAX=”(SHMMAXPGS*PAGE_SIZE+1)”
 
Посмотреть текущее значение параметра SHMMAX на Вашей системе можно используя команду ipcs.
serv# ipcs -M
shminfo:
shmmax: 33554432 (max shared memory segment size)
shmmin: 1 (min shared memory segment size)
shmmni: 192 (max number of shared memory identifiers)
shmseg: 128 (max shared memory segments per process)
shmall: 8192 (max amount of shared memory in pages)
 
Решение:
Параметр eaccelerator.shm_size в файле php.ini не должен превышать параметр SHMMAX Вашей ОС.

Домашняя FreeBSD После установки eAccelerator php выдает ошибку