Apachesubprocess退出状态255

经过大量的search,尝试,修复,等待和哭泣,在我放弃之前,我想在这里抓住这个错误的最后机会…

我们正在运行Microsoft Windows Server 2012,Apache / 2.4.6(Win64)OpenSSL / 1.0.1e PHP / 5.5.1

定期在24小时内至less5-10次,Apache崩溃并重新启动。 大概两次。 因为PHP崩溃。

整个应用程序是PHP,所以configurationPHP作为FastCGI不会解决问题:Apache不会崩溃,但PHP会。

这里更多的信息:

Windows事件日志:

Faulting application name: httpd.exe, version: 2.4.6.0, time stamp: 0x51e441d6 Faulting module name: php5ts.dll, version: 5.5.1.0, time stamp: 0x51e849b0 Exception code: 0xc0000005 Fault offset: 0x00000000000572d8 Faulting process id: 0xac0 Faulting application start time: 0x01d0a96634f3d129 Faulting application path: C:\Apache24\bin\httpd.exe Faulting module path: C:\PHP\php5ts.dll Report Id: 06409cc4-1568-11e5-93ff-d43d7edb03a9 Faulting package full name: Faulting package-relative application ID: 

Apache日志:

 [Thu Jun 18 06:13:44.284810 2015] [mpm_winnt:notice] [pid 2736:tid 392] AH00428: Parent: child process 2752 exited with status 255 -- Restarting. [Thu Jun 18 06:13:44.487977 2015] [mpm_winnt:notice] [pid 2736:tid 392] AH00455: Apache/2.4.6 (Win64) OpenSSL/1.0.1e PHP/5.5.1 configured -- resuming normal operations [Thu Jun 18 06:13:44.487977 2015] [mpm_winnt:notice] [pid 2736:tid 392] AH00456: Apache Lounge VC11 Server built: Jul 15 2013 20:45:22 [Thu Jun 18 06:13:44.487977 2015] [core:notice] [pid 2736:tid 392] AH00094: Command line: 'c:\\Apache24\\bin\\httpd.exe -d C:/Apache24' [Thu Jun 18 06:13:44.487977 2015] [mpm_winnt:notice] [pid 2736:tid 392] AH00418: Parent: Created child process 4408 
  • 在PHP日志中没有什么特别的,崩溃之前没有模式。
  • 并发连接不会影响问题 – 即使我们的用户非常less,也会发生这种情况。
  • MySQL的? 但没有指出这个错误,或者我看错了地方?
  • 视窗? 如何弄清楚?
  • PHP / Apache的configuration? 那么,还有什么?为什么?
  • 外星人…

主要问题是为什么PHP崩溃?

提前致谢!

Solutions Collecting From Web of "Apachesubprocess退出状态255"

在我的情况下,没有更多的日志。 只要:

  Parent: child process XXXX exited with status 255 -- Restarting 

问题出在重定向代码中:

 <?php header('HTTP/1.1 304 Not Modified'); exit(); ?> 

这段代码停止Apache服务并启动新的进程。 但不是所有的时间…有时工作得很好…有时崩溃:(

正确的代码是:

 <?php header('HTTP/1.1 304 Not Modified'); die(); ?> 

有关更多信息: PHP:使用exit(); 或者死(); 在标题之后(“Location:”);

有一个已知的错误:每当你包含一个文件的文件大小为4096或更多的PHP模块和Apache将停止工作。 这不是一个笑话!

我认为这个child process XYZ exited with status 255有几个不同的原因, child process XYZ exited with status 255child process XYZ exited with status 255 。 他们大多数是PHP相关的。

我刚刚在Windows上发生了同样的崩溃,Apache 5.6.18在使用PHP 5.6.16时,通过http://parsedown.org的Markdown解析器传递用户的帖子信息&#x3002; 通过在消息中包含标识符引用反引号的SQL源代码来解决这个问题,Markdown期望获得源代码的三个反引号。 没有深入Parsedown.php深入了解到底发生了什么,但它必须是这些反引号的东西。