【发布时间】:2016-05-20 22:01:21
【问题描述】:
我正在使用proc_open 来解析一些过程结果。但是当我通过不同的方法调用我的脚本时,proc_open 的行为会有所不同。
当我从 bash 中调用它时,例如 php test.php,一切正常; proc_open 返回预期的进程结果,但是如果我使用 php-fpm 调用我的脚本,那么我会得到类似进程系统调用日志的信息:
"SIGNAL received /usr/share/bin/prog-cli(print_backtrace+0x2f)[0x46ef2f].."
prog-cli 是我的进程。我交换了 CLI 和 FPM php.ini 配置,但我又遇到了这个问题。
我的 proc_open 代码:
$descriptors = array(
0 => array('pipe', 'r'),
1 => array('pipe', 'w'),
2 => array('pipe', 'w'),
);
$procResource = proc_open( $process, $descriptors, $pipes, '/tmp', [], null);
为什么我从 CLI 中看到正确的结果,而不是 FPM?
【问题讨论】: