Печально известная ошибка Apache «Родитель: дочерний процесс завершен со статусом 3221225477» - PullRequest
4 голосов
/ 08 августа 2011

Я прочитал несколько вопросов и ответов, связанных с печально известной ошибкой Apache

Apache error [notice] Parent: child process exited with status 3221225477 — Restarting

Но пока ничто не может мне помочь.Я спрашиваю вас, если бы я использовал версию для Linux, может ли скрипт вызвать сбой Apache по той же причине?*

[Mon Aug 08 14:31:44 2011] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Mon Aug 08 14:31:44 2011] [crit] (22)Invalid argument: unable to replace stderr with error_log
[Mon Aug 08 14:31:44 2011] [crit] (2)No such file or directory: unable to replace stderr with /dev/null
[Mon Aug 08 14:31:44 2011] [notice] Apache/2.2.3 (Win32) DAV/2 mod_ssl/2.2.3 OpenSSL/0.9.8c mod_autoindex_color PHP/5.1.6 configured -- resuming normal operations
[Mon Aug 08 14:31:44 2011] [notice] Server built: Aug 13 2006 19:16:43
[Mon Aug 08 14:31:44 2011] [notice] Parent: Created child process 4364
[Mon Aug 08 14:31:45 2011] [notice] Child 4364: Child process is running
[Mon Aug 08 14:31:45 2011] [notice] Child 4364: Acquired the start mutex.
[Mon Aug 08 14:31:45 2011] [notice] Child 4364: Starting 250 worker threads.
[Mon Aug 08 14:31:45 2011] [notice] Child 4364: Starting thread to listen on port 8088.
[Mon Aug 08 14:31:45 2011] [notice] Child 4364: Starting thread to listen on port 8086.

Я не могу понять, почему перемещение dll по файловой системе решает большинство проблем, и все предложения в связанных вопросах, которые касались перемещения библиотек, не работали для меня.

Язапуск старого выпуска XAMPP с PHP 5.1.6 (XAMPP для Windows 1.5.4) и работа с Doctrine ORM (да, я знаю, что Doctrine требуется PHP 5.2.3 +).

Ответы [ 2 ]

2 голосов
/ 17 октября 2013

В моем случае это было расширение php APC (php_apc.dll, 3.1.10-5.4-vc9-x86, threadsafe), которое вызвало ошибку.

Я использовал XAMPP 1.8.2 с PHP 5.4.19 и Apache 2.4.4

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

2 голосов
/ 10 сентября 2011

У меня только что была такая же проблема при установке WAMP. Я отследил это до небольшого количества моего собственного мусорного кода. У меня был метод, вызывающий сам себя.

Вот пример: -

 <?php
echo "Welcome to stupid class!";

class stupid_class {

    public $example_data;
    function stupid_function($Data) {
        self::stupid_function($Data);
        if($Data=="Hello") return true;
        else die("Incorrect data passed through.".$Data."<br />");
    }
}

$myClass = new stupid_class();
$myvalue = $myClass->stupid_function("Hello");

?>

Я знаю, что это вряд ли идеальный пример отличного кода (на самом деле это была опечатка), но я ожидал, что произойдет какая-то ошибка, прежде чем будет получено сообщение «соединение было сброшено».

Так что я думаю, что ответ будет, проверьте все ваши методы, чтобы убедиться, что вы не вызываете один бесконечно.

Надеюсь, это поможет кому-то понять, почему это происходит в PHP, Apache.

Приветствия

Ти

...