Назад | Перейти на главную страницу

Включение APC вызывает внутреннюю ошибку сервера

После установки и включения APC 3.1.9 (альтернативный кэш PHP) с помощью pecl, я столкнулся с внутренней ошибкой сервера. Я проверил свои журналы ошибок, и вот что обнаружилось.

Журналы ошибок:

PHP Fatal error:  PHP Startup: apc_mmap: mkstemp on /tmp/apc.efdb4d failed: in Unknown on line 0
[Wed Jul 06 23:47:41 2011] [error] mod_fcgid: process /var/www/cgi-bin/cgi_wrapper/cgi_wrapper(22397) exit(communication error), get unexpected signal 11

Вместо добавления расширения APC к моему php.ini файл, я создал apc.ini файл в /etc/php.d/, вот моя текущая конфигурация APC

Конфигурация apc.ini:

; /etc/php.d/apc.ini

extension = apc.so

apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 128M
apc.optimization = 0
apc.num_files_hint = 4096
apc.ttl = 7200
apc.user_ttl = 7200
apc.gc_ttl = 0
apc.cache_by_default = 1
apc.filters = ""
apc.mmap_file_mask = "/tmp/apc.XXXXXX"
apc.slam_defense = 0
apc.file_update_protection = 2
apc.enable_cli = 0
apc.max_file_size = 10M
apc.stat = 1
apc.write_lock = 1
apc.report_autofilter = 0
apc.include_once_override = 0
;apc.rfc1867 = 0
;apc.rfc1867_prefix = "upload_"
;apc.rfc1867_name = "APC_UPLOAD_PROGRESS"
;apc.rfc1867_freq = 0
apc.localcache = 0
apc.localcache.size = 512
apc.coredump_unmap = 0
apc.stat_ctime = 0

Даже после отключения APC я столкнулся с другой ошибкой при попытке войти в Plesk CP:

ERROR: Zend_Db_Statement_Exception
SQLSTATE[HY000]: General error: 1 Can't create/write to file '/tmp/#sql_6d7_0.MYI' (Errcode: 13)

Я исправил указанную выше проблему, перезапустив контейнер через панель управления Plesk. Я думаю, это пришлось изменить /tmp к exec с помощью mount -o remount,exec /tmp для устранения ошибок прав доступа во время установки APC через pecl. После установки вернулся /tmp вернуться к noexec. Суть этих шагов можно найти Вот.

Первая ошибка так и осталась нерешенной.

В настоящее время я использую:

Я не знаю, как решить эту проблему. Это потому, что я использую самую последнюю версию APC? или apc.ini config? Имеет ли значение, где я включил расширение apc? т.е. /etc/php.ini против /etc/php.d/apc.ini

Как насчет проблем совместимости FastCGI и APC?

Любая помощь или совет будут очень благодарны.

Есть ли у вас ограничения open_dir? Если это для учетной записи пользователя, я бы установил каталог APC tmp относительно домашнего каталога пользователей с соответствующими разрешениями.