1

我一直在使用 System_Daemon 类来创建一个发送短信的守护进程。

该脚本与 php 5.3.8 完美配合,但现在,使用 php 5.4.9 它会崩溃,但不会创建错误或通知消息。

在 System_Daemon 类的函数 _fork 中,总是返回一个告诉它是父级的值

static protected function _fork()
{
    self::debug('forking {appName} daemon');
    $pid = pcntl_fork();

    if ($pid === -1) {
        // Error
        return self::warning('Process could not be forked');
    } else if ($pid) {
        // Parent
        self::debug('Ending {appName} parent process');
        // Die without attracting attention
        exit();
    } else {
        // Child
        self::$_processIsChild = true;
        self::$_isDying        = false;
        self::$_processId      = posix_getpid();
        return true;
    }
}

所以,在 _summon() 函数中,它询问 _fork() 返回值的地方,总是等于 false。

我把这篇文章加红了,来自另一个有类似问题的成员: PHP Pear system_daemon doesn't fork

我提出了他的建议,但没有成功。

有人可以帮我解决这个问题吗?

我对我的英语感到很抱歉,我努力解释自己。

4

0 回答 0