PHP: как обнаружить ошибку дочернего процесса и нормальный выход? - PullRequest
0 голосов
/ 08 февраля 2019

Когда дочерний процесс выдает ошибки, такие как PHP error / warning / alert, есть ли способ узнать от родительского процесса?Я пытаюсь следующий код, но он возвращает выход нормально.

<?php

$pid = pcntl_fork();
if ($pid > 0)
{
    echo "pid: $pid\n";
    $status = 0;
    pcntl_waitpid($pid, $status);
    if (pcntl_wifsignaled($status))
        echo "child crashed\n";
    if (pcntl_wifexited($status))
        echo "child exited normally\n";
    if (pcntl_wifstopped($status))
        echo "child stopped\n";
}
else if ($pid == 0)
{
    $n = 0;
    while (++$n < 10)
    {
        echo ".";
        sleep(1);
        if ($n == 8)
        {
            // to cause a crash
            //   $n = $n / 0;
            $a = "a";
            unserialize(str_replace('1', 2147483647, serialize($a)));
        }
    }
}
?>
...