【问题标题】:php proc_open different behavior in CLI and FPMphp proc_open 在 CLI 和 FPM 中的不同行为
【发布时间】: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?

【问题讨论】:

    标签: php proc-open


    【解决方案1】:

    因为我忘记了该进程是以用户 www-data 的名义运行的,所以它没有所需的权限,并且我得到了一个奇怪的系统错误输出。

    【讨论】:

      猜你喜欢
      • 2019-09-25
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 2016-02-02
      • 2019-02-08
      相关资源
      最近更新 更多