APACHE Сбой: родитель: дочерний процесс завершен со статусом 3221225477 – Перезапуск

Моя следующая настройка – Xampp 1.7.7, и вот информация для всего, что в этом пакете: – Apache / 2.2.21 (Win32) mod_ssl / 2.2.21 OpenSSL / 1.0.0e PHP / 5.3.8 mod_perl / 2.0.4 Perl / v5.10.1

Я запускаю сервер на 32-разрядной ОС Windows XP SP3, 4 гигабайта RAM, Quad Core.

Проблема, которая возникает у моего файла журнала ошибок apache:

[Tue Apr 24 15:55:55 2012] [notice] Parent: child process exited with status 3221225477 -- Restarting. [Tue Apr 24 15:55:57 2012] [notice] Digest: generating secret for digest authentication ... [Tue Apr 24 15:55:57 2012] [notice] Digest: done [Tue Apr 24 15:55:59 2012] [notice] Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations [Tue Apr 24 15:55:59 2012] [notice] Server built: Sep 10 2011 11:34:11 [Tue Apr 24 15:55:59 2012] [notice] Parent: Created child process 776 [Tue Apr 24 15:56:00 2012] [notice] Disabled use of AcceptEx() WinSock2 API [Tue Apr 24 15:56:01 2012] [notice] Digest: generating secret for digest authentication ... [Tue Apr 24 15:56:01 2012] [notice] Digest: done [Tue Apr 24 15:56:02 2012] [notice] Child 776: Child process is running [Tue Apr 24 15:56:02 2012] [notice] Child 776: Acquired the start mutex. [Tue Apr 24 15:56:02 2012] [notice] Child 776: Starting 350 worker threads. [Tue Apr 24 15:56:02 2012] [notice] Child 776: Listening on port 443. [Tue Apr 24 15:56:02 2012] [notice] Child 776: Listening on port 80. 

Кажется, это происходит спорадически в течение дня, и я даже попытался использовать Win32DisableEx, EnableIMAP Off и EnableSendFile Off в файле apache conf. Я также попытался скопировать файл libmysql.dll в папки system32 и apache / bin безрезультатно.

Если кто-то знает другие причины этой ошибки для дочернего процесса, выходящего и приводящего к сбою апаша, информация была бы весьма признательна. Если требуются дополнительные файлы журналов, пожалуйста, дайте мне знать.

Ткс, Шейн.

Код ошибки 3221225477 равен 0xC0000005 в шестнадцатеричном 0xC0000005 , который в Windows:

 #define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L) 

Нарушение доступа – это версия Windows «ошибка сегментации», которая просто означает, что программа пыталась получить доступ к памяти, которая не выделена. Это может произойти по разным причинам, но главным образом (если не всегда) является ошибкой в ​​программе.

Теперь, моя догадка о вашей ситуации, заключается в том, что есть либо ошибка в PHP, либо в одном из расширений PHP или Perl или некоторых приложений Perl. Сам Apache обычно очень стабилен, но если вы используете какое-то необычное расширение, это тоже может быть причиной.

Я бы предложил обновить всю вашу конфигурацию до последних версий. Если вы хотите найти источник проблемы, запустите Apache внутри отладчика, например Visual Studio или OllyDbg. Когда происходит исключение (нарушение прав доступа), оно прекратит выполнение (вместо перезапуска), и вы увидите, в каком модуле он находится.

Также загляните в журнал доступа, если есть подозрительный запрос с той же меткой времени, что и ошибка. Но может случиться так, что авария произойдет до того, как запрос будет сохранен в файле журнала.