【问题】
环境:Win7 x64 + Apache/2.2.19 (Win64) PHP/5.3.6
启动Win7后,跳出错误对话框:
Apache HTPP Server has stopped working
错误详细信息为:
Files that help describe the problem:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_httpd.exe_ca4cbfa9229b66885598e9f97694d8d4d1b252e_cab_18aa18dc\WER140C.tmp.appcompat.txt
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_httpd.exe_ca4cbfa9229b66885598e9f97694d8d4d1b252e_cab_18aa18dc\WER1499.tmp.WERInternalMetadata.xml
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_httpd.exe_ca4cbfa9229b66885598e9f97694d8d4d1b252e_cab_18aa18dc\WER172B.tmp.mdmpRead our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
对此错误,需要说明一下:
1. 之前apache一直都是正常运行的,没有出现过类似问题。
2. 最近几天,出现过几次此问题了。
3. 本地localhost装的是wordpress。
【解决过程】
1.看起来是Apache出问题了。所以就去看看是不是apache已经停止了。
去win7中的services中却看到Apache是正在运行的:
2. 然后又去确认了一下localhost,也是工作的:
3.网上找了一堆,但是没找到解决办法:
(1)这人说是“如果用xmapp下的xampp-control.exe来启动apache,debug时会造成Apache HTTP Server has stopped working所以建议用apache_start.bat来启动”,但我这里没有用xampp,而是之前自己手动装的apache,以及php等环境,所以也就没有啥apache_start.bat了。
(2)参考Apache HTTP Server has stopped working,倒是想到了,最近是装了个joomla,难道是因为joomla而导致的apache运行出错?暂时也不清楚。
(3)参考这里,想到了去看看apache的log,就去
httpd-2.2.19-win64\httpd-2.2-x64\logs\error.log
中,找到了相关的log:
[Fri Aug 10 09:19:47 2012] [warn] pid file D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64/logs/httpd.pid overwritten — Unclean shutdown of previous Apache run?
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 728 in Unknown on line 0
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 880 in Unknown on line 0
[Fri Aug 10 09:19:48 2012] [notice] Apache/2.2.19 (Win64) PHP/5.3.6 configured — resuming normal operations
[Fri Aug 10 09:19:48 2012] [notice] Server built: May 28 2011 15:18:56
[Fri Aug 10 09:19:48 2012] [notice] Parent: Created child process 2200
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 728 in Unknown on line 0
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 880 in Unknown on line 0
[Fri Aug 10 09:19:48 2012] [notice] Child 2200: Child process is running
[Fri Aug 10 09:19:48 2012] [notice] Child 2200: Acquired the start mutex.
[Fri Aug 10 09:19:48 2012] [notice] Child 2200: Starting 64 worker threads.
[Fri Aug 10 09:19:48 2012] [notice] Child 2200: Starting thread to listen on port 80.
[Fri Aug 10 09:21:49 2012] [notice] Parent: child process exited with status 255 — Restarting.
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 728 in Unknown on line 0
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 880 in Unknown on line 0
[Fri Aug 10 09:21:49 2012] [notice] Apache/2.2.19 (Win64) PHP/5.3.6 configured — resuming normal operations
[Fri Aug 10 09:21:49 2012] [notice] Server built: May 28 2011 15:18:56
[Fri Aug 10 09:21:49 2012] [notice] Parent: Created child process 6556
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 728 in Unknown on line 0
PHP Deprecated: Comments starting with ‘#’ are deprecated in D:\\tmp\\WordPress\\DevRoot\\php-5.3.6-Win32-VC9-x64\\php.ini on line 880 in Unknown on line 0
[Fri Aug 10 09:21:49 2012] [notice] Child 6556: Child process is running
[Fri Aug 10 09:21:49 2012] [notice] Child 6556: Acquired the start mutex.
[Fri Aug 10 09:21:49 2012] [notice] Child 6556: Starting 64 worker threads.
[Fri Aug 10 09:21:49 2012] [notice] Child 6556: Starting thread to listen on port 80.
可以看出:
(1)“Unclean shutdown of previous Apache run?”
不过我之前关机都是正常的,apache服务的启动和关闭,应该也是正常的才对,至少没看到有啥错误和异常啊。
不过其后面又“resuming normal operations”所以应该也没啥影响才对。
(2)看到第一次创建子进程出错“Parent: child process exited with status 255”,不过第二次重新创建的子进程,是OK的“Child 6556: Child process is running”,所以,貌似都还算正常。
(3)728和880两行有问题,所以去:
把728行的 #post_max_size = 8M 改为: ;post_max_size = 8M
把880行的 #upload_max_filesize = 2M 改为:;upload_max_filesize = 2M
再去重启apache服务:
结果一切正常,没有任何错误提示。
4。后来根据最开始的crash提示,去看了看:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\
中的WER140C.tmp.appcompat.txt,不过也没太看懂。
【总结】
截止目前,好像没什么大影响。
等以后看看是否还会出现此错误,再说。
【后记 2012-08-16】
结果今天,又遇到同样的问题,出现:Apache HTPP Server has stopped working
1. 根据错误的详细信息:
Files that help describe the problem:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_httpd.exe_ca4cbfa9229b66885598e9f97694d8d4d1b252e_cab_01f61c27\WER1515.tmp.appcompat.txt
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_httpd.exe_ca4cbfa9229b66885598e9f97694d8d4d1b252e_cab_01f61c27\WER15D1.tmp.WERInternalMetadata.xml
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_httpd.exe_ca4cbfa9229b66885598e9f97694d8d4d1b252e_cab_01f61c27\WER1A65.tmp.mdmpRead our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt
去打开文件夹
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_httpd.exe_ca4cbfa9229b66885598e9f97694d8d4d1b252e_cab_01f61c27
可以找到几个相关的文件:
Report.wer
WER1A65.tmp.mdmp
WER15D1.tmp.WERInternalMetadata.xml
WER15F2.tmp.hdmp
WER1515.tmp.appcompat.txt
其中,Report.wer中的内容为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | Version=1 EventType=APPCRASH EventTime=129895525809807749 ReportType=2 Consent=1 UploadTime=129895532621914304 ReportIdentifier=1f46a266-e73e-11e1-a489-d067e50a5580 IntegratorReportIdentifier=1f46a265-e73e-11e1-a489-d067e50a5580 Response.BucketId=72888041 Response.BucketTable=4 Response.type=4 Sig[0].Name=Application Name Sig[0].Value=httpd.exe Sig[1].Name=Application Version Sig[1].Value=2.2.19.0 Sig[2].Name=Application Timestamp Sig[2].Value=4de0f645 Sig[3].Name=Fault Module Name Sig[3].Value=php5ts.dll Sig[4].Name=Fault Module Version Sig[4].Value=5.3.6.0 Sig[5].Name=Fault Module Timestamp Sig[5].Value=4d90eea6 Sig[6].Name=Exception Code Sig[6].Value=c0000005 Sig[7].Name=Exception Offset Sig[7].Value=000000000000f7f7 DynamicSig[1].Name=OS Version DynamicSig[1].Value=6.1.7601.2.1.0.256.4 DynamicSig[2].Name=Locale ID DynamicSig[2].Value=1033 DynamicSig[22].Name=Additional Information 1 DynamicSig[22].Value=8c9d DynamicSig[23].Name=Additional Information 2 DynamicSig[23].Value=8c9dc35db402f92aa89f623be45f800c DynamicSig[24].Name=Additional Information 3 DynamicSig[24].Value=18e3 DynamicSig[25].Name=Additional Information 4 DynamicSig[25].Value=18e3c51e80c775a18de41c53f8b1247d UI[2]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\httpd.exe UI[5]=Check online for a solution (recommended) UI[6]=Check for a solution later (recommended) UI[7]=Close UI[8]=Apache HTTP Server stopped working and was closed UI[9]=A problem caused the application to stop working correctly. Windows will notify you if a solution is available. UI[10]=&Close LoadedModule[0]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\httpd.exe LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll LoadedModule[2]=C:\Windows\system32\kernel32.dll LoadedModule[3]=C:\Windows\system32\KERNELBASE.dll LoadedModule[4]=C:\Windows\System32\SYSFER.DLL LoadedModule[5]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\libapr-1.dll LoadedModule[6]=C:\Windows\system32\ADVAPI32.dll LoadedModule[7]=C:\Windows\system32\msvcrt.dll LoadedModule[8]=C:\Windows\SYSTEM32\sechost.dll LoadedModule[9]=C:\Windows\system32\RPCRT4.dll LoadedModule[10]=C:\Windows\system32\WS2_32.dll LoadedModule[11]=C:\Windows\system32\NSI.dll LoadedModule[12]=C:\Windows\system32\MSWSOCK.dll LoadedModule[13]=C:\Windows\system32\user32.dll LoadedModule[14]=C:\Windows\system32\GDI32.dll LoadedModule[15]=C:\Windows\system32\LPK.dll LoadedModule[16]=C:\Windows\system32\USP10.dll LoadedModule[17]=C:\Windows\system32\SHELL32.dll LoadedModule[18]=C:\Windows\system32\SHLWAPI.dll LoadedModule[19]=C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.5054_none_08e4d1f3a83cf865\MSVCR90.dll LoadedModule[20]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\libaprutil-1.dll LoadedModule[21]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\libapriconv-1.dll LoadedModule[22]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\libhttpd.dll LoadedModule[23]=C:\Windows\system32\IMM32.DLL LoadedModule[24]=C:\Windows\system32\MSCTF.dll LoadedModule[25]=C:\Windows\system32\DNSAPI.dll LoadedModule[26]=C:\Windows\system32\PGPlsp.dll LoadedModule[27]=C:\Windows\System32\wshtcpip.dll LoadedModule[28]=C:\Windows\system32\NLAapi.dll LoadedModule[29]=C:\Windows\system32\napinsp.dll LoadedModule[30]=C:\Windows\system32\pnrpnsp.dll LoadedModule[31]=C:\Windows\System32\winrnr.dll LoadedModule[32]=C:\Program Files\Common Files\Microsoft Shared\Windows Live\WLIDNSP.DLL LoadedModule[33]=C:\Windows\system32\PSAPI.DLL LoadedModule[34]=C:\Program Files\National Instruments\Shared\mDNS Responder\nimdnsNSP.dll LoadedModule[35]=C:\Windows\system32\nimdnsResponder.dll LoadedModule[36]=C:\Windows\system32\Iphlpapi.DLL LoadedModule[37]=C:\Windows\system32\WINNSI.DLL LoadedModule[38]=C:\Windows\System32\fwpuclnt.dll LoadedModule[39]=C:\Windows\system32\rasadhlp.dll LoadedModule[40]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_actions.so LoadedModule[41]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_alias.so LoadedModule[42]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_asis.so LoadedModule[43]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_auth_basic.so LoadedModule[44]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_authn_default.so LoadedModule[45]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_authn_file.so LoadedModule[46]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_authz_default.so LoadedModule[47]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_authz_groupfile.so LoadedModule[48]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_authz_host.so LoadedModule[49]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_authz_user.so LoadedModule[50]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_autoindex.so LoadedModule[51]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_cgi.so LoadedModule[52]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_dir.so LoadedModule[53]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_env.so LoadedModule[54]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_include.so LoadedModule[55]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_isapi.so LoadedModule[56]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_log_config.so LoadedModule[57]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_mime.so LoadedModule[58]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_negotiation.so LoadedModule[59]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_rewrite.so LoadedModule[60]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\modules\mod_setenvif.so LoadedModule[61]=D:\tmp\WordPress\DevRoot\php-5.3.6-Win32-VC9-x64\php5apache2_2.dll LoadedModule[62]=D:\tmp\WordPress\DevRoot\php-5.3.6-Win32-VC9-x64\php5ts.dll LoadedModule[63]=C:\Windows\system32\OLEAUT32.dll LoadedModule[64]=C:\Windows\system32\ole32.dll LoadedModule[65]=C:\Windows\system32\ODBC32.dll LoadedModule[66]=C:\Windows\system32\odbcint.dll LoadedModule[67]=D:\tmp\WordPress\DevRoot\php-5.3.6-Win32-VC9-x64\ext\php_mysql.dll LoadedModule[68]=D:\tmp\WordPress\DevRoot\php-5.3.6-Win32-VC9-x64\ext\php_mysqli.dll LoadedModule[69]=D:\tmp\WordPress\DevRoot\php-5.3.6-Win32-VC9-x64\ext\php_openssl.dll LoadedModule[70]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\SSLEAY32.dll LoadedModule[71]=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\LIBEAY32.dll LoadedModule[72]=D:\tmp\WordPress\DevRoot\php-5.3.6-Win32-VC9-x64\ext\php_sockets.dll LoadedModule[73]=C:\Windows\System32\wship6.dll State[0].Key=Transport.DoneStage1 State[0].Value=1 State[1].Key=DataRequest State[1].Value=iData=1/nDumpFile=//Upload//iCab//7aee2a1a2ec34451a0cadd4eb7720388-1d20366d89332be3b3eff5e91d2de27b-4-72888041-AppCrash64-6-1-7601-2.cab/nDumpServer=watson.microsoft.com/nResponseServer=watson.microsoft.com/nResponseURL=//dw//StageFour64.asp?iBucket=72888041&szCab=7aee2a1a2ec34451a0cadd4eb7720388.cab&EventType=AppCrash64&BucketHash=1d20366d89332be3b3eff5e91d2de27b&MID=C48E1B1F-F69C-40D7-84BA-C696F133C94D/nBucket=72888041/nBucketTable=4/nResponse=1/n State[2].Key=Headless.2ndLevelConsentNeeded State[2].Value=1 File[0].CabName=AppCompat.txt File[0].Path=WER1515.tmp.appcompat.txt File[0].Flags=65538 File[0].Type=5 File[0].Original.Path=C:\Windows\Temp\WER1515.tmp.appcompat.txt File[1].CabName=WERInternalMetadata.xml File[1].Path=WER15D1.tmp.WERInternalMetadata.xml File[1].Flags=65538 File[1].Type=5 File[1].Original.Path=C:\Windows\Temp\WER15D1.tmp.WERInternalMetadata.xml File[2].CabName=memory.hdmp File[2].Path=WER15F2.tmp.hdmp File[2].Flags=2097152 File[2].Type=3 File[2].Original.Path=C:\Windows\Temp\WER15F2.tmp.hdmp File[3].CabName=minidump.mdmp File[3].Path=WER1A65.tmp.mdmp File[3].Flags=2162690 File[3].Type=2 File[3].Original.Path=C:\Windows\Temp\WER1A65.tmp.mdmp FriendlyEventName=Stopped working ConsentKey=APPCRASH AppName=Apache HTTP Server AppPath=D:\tmp\WordPress\DevRoot\httpd-2.2.19-win64\httpd-2.2-x64\bin\httpd.exe |
可见,其中最后的那部分,指出了错误所涉及的程序是apache的httpd.exe,事件为Stopped working
而中间的内容列出了相关的httpd和php所加载的模块,看起来感觉是好加载的模块有关。
再加上之前好像一直没出错,前不久折腾joomla时,而加载了几个额外的module,感觉估计和这个错误有关。
另外,相关的httpd的log如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [Thu Aug 16 09:01:00 2012] [warn] pid file D:/tmp/WordPress/DevRoot/httpd-2.2.19-win64/httpd-2.2-x64/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run? [Thu Aug 16 09:01:01 2012] [notice] Apache/2.2.19 (Win64) PHP/5.3.6 configured -- resuming normal operations [Thu Aug 16 09:01:01 2012] [notice] Server built: May 28 2011 15:18:56 [Thu Aug 16 09:01:01 2012] [notice] Parent: Created child process 2064 [Thu Aug 16 09:01:01 2012] [notice] Child 2064: Child process is running [Thu Aug 16 09:01:01 2012] [notice] Child 2064: Acquired the start mutex. [Thu Aug 16 09:01:01 2012] [notice] Child 2064: Starting 64 worker threads. [Thu Aug 16 09:01:01 2012] [notice] Child 2064: Starting thread to listen on port 80. [Thu Aug 16 09:03:02 2012] [notice] Parent: child process exited with status 255 -- Restarting. [Thu Aug 16 09:03:02 2012] [notice] Apache/2.2.19 (Win64) PHP/5.3.6 configured -- resuming normal operations [Thu Aug 16 09:03:02 2012] [notice] Server built: May 28 2011 15:18:56 [Thu Aug 16 09:03:02 2012] [notice] Parent: Created child process 1328 [Thu Aug 16 09:03:03 2012] [notice] Child 1328: Child process is running [Thu Aug 16 09:03:03 2012] [notice] Child 1328: Acquired the start mutex. [Thu Aug 16 09:03:03 2012] [notice] Child 1328: Starting 64 worker threads. [Thu Aug 16 09:03:03 2012] [notice] Child 1328: Starting thread to listen on port 80. |
2.另外又看到:Apache HTTP server has stopped working中也提到了,和加载的(多余的)模块有关系。
而之前关于给wordpress折腾添加smtp,也没成功。
所以,干脆先把之前加载的模块去掉再说,希望先解决此问题。
真的等以后需要这些模块的时候,再添加回来。
即把:
extension=php_sockets.dll
extension=php_openssl.dll
改为:
;extension=php_sockets.dll
;extension=php_openssl.dll
然后再去重启apache,希望这样可以解决此问题。
【总结】
如果以后不再出现此问题,那么就可以定位错误原因为:
某些php的模块,导致了apache停止工作。
具体是哪个或哪些模块,则需要具体情况具体分析了。有的可能是本身php模块就有bug,有的可能是没有和其他模块搭配好等等。可以尝试一点点注释掉那些看起来可能出错的php模块,以此最终定位出错的模块。