APC на windows iis 7.0 нестабильный - PullRequest
1 голос
/ 28 июля 2011

У меня очень нестабильный 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.,Мой проект хранит до 1 Гб данных кэша и, следовательно, объясняет, что значение shm установлено на 1024M

Также проблема чаще возникает при перезагрузке страницы apc.php в браузере Ошибка HTTP 500.0 - Внутренняя ошибка сервера C: \ PHP \php-cgi.exe - процесс FastCGI неожиданно завершился

Мой кэш сбрасывается, и мне приходится заново кэшировать мои данные.

Он отлично работает с моим сервером LINUX.Что-то не так с моей конфигурацией APC или что-то подобное?

1 Ответ

1 голос
/ 28 июля 2011

Я не думаю, что это проблема с вашей конфигурацией APC как таковой, но, скорее, проблема с тем, как блокировка файлов обрабатывается в Windows. Я посмотрел apc_fcntl_lock в исходном коде APC, и он довольно прост и не менялся месяцами.

Если вы запускаете только один рабочий процесс, попробуйте установить apc.write_lock = 0 и посмотреть, поможет ли это.

В противном случае вы можете попробовать более старую версию PHP (или 5.3.7RC3) в случае, если проблема связана с тем, как APC взаимодействует с PHP (хотя, вероятно, вряд ли).

Наконец, если это не сработает, возможно, попробуйте другой кэш кода операции; например, xcache.

...