开发者

Php exec() return code is -1 when in a forked process, but 0 in a normal script

I am using exec() inside a a script that runs as a daemon and forks child processes using the pear class Net_Server.

I am getting 开发者_开发知识库a strange issue whereby the return code (the third param of of exec) comes back as -1. When I run the command on the command line, or with exec in a normal php script the return code is 0 as it should be. Anyone have any idea why this is happening, and how to fix it?


 pcntl_signal(SIGCHLD, SIG_DFL);
 exec('...');
 pcntl_signal(SIGCHLD, 'whatever it was');


I guess it is an issue with environment variables. Maybe the thing you are trying to execute is normally in your PATH, but not when you spawn a daemon. Supply the full path to the program.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜