2015-06-18 2 views
8

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

Мы бежим на Microsoft Windows Server 2012, Apache/2.4.6 (Win64) OpenSSL/1.0.1e PHP/5.5.1.

Периодически, не менее 5-10 раз в течение 24 часов, сбой и перезагрузка Apache. В основном дважды. Потому что PHP разбился.

Все приложение PHP, поэтому настройка php как 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 Log:

[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 особенными и не шаблон, прежде чем аварии ,
  • Также одновременные подключения не влияют на проблему - это происходит, даже если у нас очень мало пользователей.
  • MySQL? Но никаких ошибок, указывающих на это или я не в том месте?
  • Windows? Как выяснить?
  • Конфигурация PHP/Apache? Ну, что еще .. и почему?
  • Чужие ...

Основной вопрос, почему PHP разваливается? ..

Заранее спасибо!

+0

У меня такая же проблема, как хорошо, однако нет никаких проблем запуска PHP 5.6 Я заподозрить.. модуль apache на PHP неисправен. (Поскольку Apache 2.4 более новый, многие изменения могут вызвать такие вещи) –

ответ

1

Существует известная ошибка: всякий раз, когда файл, который вы включаете, имеет размер файла 4096 или более, модуль php и apache перестанут работать. Это не шутка!

+0

Пример: у вас есть .php-файл с размером файла 53248 байт. Когда вы включаете или используете этот файл, ! 53248/4096 = 13 - это кратное 4096. Это была ошибка вокруг PHP 5.3.10 и, возможно, уха лир и позже. 5.4 и выше больше не имеют этой ошибки (насколько я знаю). – user5234989

+2

мы используем PHP 5.5, так что это не так? – alquist42

0

Я думаю, что есть несколько разных причин для этого child process XYZ exited with status 255 в сети. Большинство из них связаны с PHP.

У меня была такая же авария на Windows, Apache 2.4.18 с PHP 5.6.16, когда вы отправляете сообщение пользователя с помощью парсера Markdown от http://parsedown.org. Исправлено его окружением исходного кода SQL в сообщении, которое имело обратные ссылки для котировок идентификаторов, причем три обратных элемента Markdown рассчитывали на исходный код. Не погрузился глубже в Parsedown.php, чтобы узнать, где именно это произошло, но это должно быть что-то с этими обратными шагами.

2

В моем случае ничего больше в журналах. только:

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

Проблема была в перенаправлении кода:

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

Этого код останавливает апачскую службу и начать новые процессы. Но не все время ... иногда отлично работало ...иногда падает :(

Правильный код:

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

Дополнительная информация о: PHP: Utilizing exit(); or die(); after header("Location: ");

Смежные вопросы