2016-05-20 5 views
1

私はproc_openを使用していくつかのプロセス結果を解析しています。しかし、別の方法でスクリプトを呼び出すと、proc_openの動作が異なります。CLIとFPMでphp proc_openの動作が異なる

私がbashから呼び出すと、php test.phpのようになります。 proc_openは、予想される処理結果を返しますが、私は、PHP-FPMを使用して私のスクリプトを呼び出す場合、私は、プロセスシステムのようなものは、ログを呼び出し得る:

prog-cliは私のプロセスである
"SIGNAL received /usr/share/bin/prog-cli(print_backtrace+0x2f)[0x46ef2f].." 

。私は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ではないのですか?

答えて

0

プロセスがユーザーwww-dataの名前で実行されていることを忘れているため、必要な権限がなく、システムエラーの出力が奇妙な形で表示されます。

関連する問題