我在一个作为守护进程运行的脚本中使用exec(),并使用pear类Net_Server分叉子进程。
我遇到一个奇怪的问题,返回代码(exec的第三个参数)返回-1。当我在命令行上运行命令,或者在正常的php脚本中运行exec时,返回代码应为0。任何人都知道为什么会这样,以及如何解决它?
答案 0 :(得分:1)
pcntl_signal(SIGCHLD, SIG_DFL);
exec('...');
pcntl_signal(SIGCHLD, 'whatever it was');
答案 1 :(得分:0)
我想这是环境变量的问题。也许你试图执行的东西通常在你的PATH中,但是当你产生一个守护进程时。提供程序的完整路径。