我一直在使用 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
我提出了他的建议,但没有成功。
有人可以帮我解决这个问题吗?
我对我的英语感到很抱歉,我努力解释自己。