После установки и включения 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 относительно домашнего каталога пользователей с соответствующими разрешениями.