web-dev-qa-db-ja.com

APACHEクラッシュ:親:子プロセスがステータス3221225477で終了しました-再起動中

私の次のセットアップはXampp1.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ビットOS、4ギガのRAM、クアッドコア。

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.

これは1日を通して散発的に発生するようで、ApacheconfファイルでWin32DisableEx、EnableIMAP Off、EnableSendFileOffを使用してみました。また、libmysql.dllファイルをsystem32フォルダーとApache/binフォルダーにコピーしようとしましたが役に立ちませんでした。

子プロセスが終了してApacheがクラッシュするこのエラーのその他の理由を誰かが知っている場合は、情報をいただければ幸いです。追加のログファイルが必要な場合はお知らせください。

Tks、シェーン。

17
Shane

エラーコード32212254770xC0000005 16進数で、Windowsでは次のようになります。

#define STATUS_ACCESS_VIOLATION  ((NTSTATUS)0xC0000005L)

アクセス違反は、Windows版の「セグメンテーション違反」です。これは、プログラムが割り当てられていないメモリにアクセスしようとしたことを意味します。これはさまざまな理由で発生する可能性がありますが、ほとんど(常にではないにしても)はプログラムのバグです。

さて、あなたの状況についての私の推測では、PHPまたはPHPの拡張機能の1つ、またはPerlまたは一部のPerlアプリケーションにバグがあります。Apache自体は通常非常に安定していますが、いくつかの異常な拡張機能を使用してください。それも原因である可能性があります。

すべての構成を最新バージョンに更新することをお勧めします。問題の原因を確実に見つけたい場合は、VisualStudioやOllyDbgなどのデバッガー内でApacheを実行してください。例外(アクセス違反)が発生すると、(再起動する代わりに)実行が停止し、どのモジュールにあるかがわかります。

エラーと同じタイムスタンプの疑わしいリクエストがある場合は、アクセスログも確認してください。ただし、リクエストがログファイルに保存される前にクラッシュが発生する場合があります。

21
kuba