У меня очень неустойчивый IIS, так как он всегда перезапускается по какой-то причине связан с APC.
Спецификации сервера ниже
Intel R Xeon CPU 3GHZ 3GHZ 2GB RAM 64bit
Спецификация APC & Server
3.1.7-dev PHP Version 5.3.6 APC Host localhost Server Software Microsoft-IIS/7.5 Shared Memory 1 Segment(s) with 1024.0 MBytes (IPC shared memory, File Locks locking) extension=php_apc.dll apc.shm_size=1024M apc.num_files_hint=10000 apc.user_entries_hint=10000 apc.max_file_size=5M
Ошибка файла журнала PHP
28-Jul-2011 09:23:14] PHP Fatal error: Unknown: apc_fcntl_lock failed errno:6 in Unknown on line 0 [28-Jul-2011 09:23:14] PHP Fatal error: Unknown: apc_fcntl_lock failed errno:6 in Unknown on line 0 [28-Jul-2011 09:24:23] PHP Notice: Undefined index: SERVER_ADDR in C:\inetpub\wwwroot\apc.php on line 68 [28-Jul-2011 09:24:24] PHP Notice: Undefined index: SERVER_ADDR in C:\inetpub\wwwroot\apc.php on line 68 [28-Jul-2011 09:24:24] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in C:\inetpub\wwwroot\apc.php on line 1122 [28-Jul-2011 09:24:24] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in C:\inetpub\wwwroot\apc.php on line 1123 [28-Jul-2011 09:24:24] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in C:\inetpub\wwwroot\apc.php on line 1124 [28-Jul-2011 09:24:30] PHP Notice: Undefined index: SERVER_ADDR in C:\inetpub\wwwroot\apc.php on line 68 [28-Jul-2011 09:24:30]
Я не могу понять, что такое ошибка, которая приводит к перезапуску IIS или что вызывает apc_fcntl_lock. Errno: 6 . Мой проект хранит до 1 ГБ кеш-данных и, следовательно, объясняет, что shm установлен на 1024 М
Также проблема возникает чаще, когда я перезагружаю страницу apc.php в браузере HTTP Error 500.0 – Ошибка внутреннего сервера C: \ PHP \ php-cgi.exe – Процесс FastCGI неожиданно вышел из системы
Мой кеш сбрасывается, и я снова должен кэшировать свои данные.
Он отлично работает с моим LINUX-сервером. Это что-то не так с моей конфигурацией APC или такой?
Я не думаю, что это проблема с вашей конфигурацией APC как таковой, но, скорее, проблема с тем, как блокировка файлов обрабатывается в Windows. Я искал apc_fcntl_lock в исходном коде APC, и это довольно просто и не менялось несколько месяцев.
Если вы работаете только с одним рабочим процессом, вы можете попробовать установить apc.write_lock = 0 и посмотреть, поможет ли это.
В противном случае вы можете попробовать более старую версию PHP (или 5.3.7RC3), если проблема связана с тем, как APC взаимодействует с PHP (вероятно, маловероятно, хотя).
Наконец, если это не сработает, попробуйте использовать другой кеш-код операции; Например, xcache.