APACHE崩溃:父:子进程退出,状态为3221225477 - 正在重新启动

Sha*_*ane 17 php mysql apache xampp

我的以下设置是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

我在Windows XP SP3 32位操作系统上运行服务器,4 GB内存,四核.

我在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.
Run Code Online (Sandbox Code Playgroud)

这似乎偶尔会在一天中偶然发生,我甚至尝试在apache conf文件中使用Win32DisableEx,EnableIMAP Off和EnableSendFile Off.我也尝试将libmysql.dll文件复制到system32和apache/bin文件夹,但没有用.

如果有人知道其他原因这个错误导致子进程退出并导致apache崩溃,那么将非常感谢信息.如果需要任何其他日志文件,请告诉我.

Tks,Shane.

kub*_*uba 21

错误代码32212254770xC0000005十六进制,在Windows上是:

#define STATUS_ACCESS_VIOLATION  ((NTSTATUS)0xC0000005L)
Run Code Online (Sandbox Code Playgroud)

访问冲突是Windows的"分段错误"版本,简单地说,这意味着程序试图访问未分配的内存.这可能由于许多不同的原因而发生,但大多数(如果不总是)是程序中的错误.

现在,我对你的情况的猜测是,PHP或PHP的扩展或Perl或某些Perl应用程序中存在错误.Apache本身通常非常稳定,但如果你使用一些不寻常的扩展,它也可能是原因.

我建议将所有配置更新到最新版本.如果要确定找到问题的根源,请在调试器中运行Apache,如Visual Studio或OllyDbg.当异常(访问冲突)发生时,它将停止执行(而不是重新启动),您将看到它在哪个模块中.

如果存在与错误具有相同时间戳的可疑请求,请查看访问日志.但是可能发生崩溃发生在请求保存在日志文件中之前.