System_Daemon和pcntl on centos with php 5.4.9

时间:2012-12-14 12:06:37

标签: php fork daemon pcntl

我一直在使用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

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

有人可以帮我一把吗?

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

0 个答案:

没有答案