2016-09-01 4 views
0

私は以下を使ってPythonでPHPコードを実行しています。 file.phpにあるPHPコードでエラーが発生した場合、私の端末でエラーが表示されますが、結果変数にエラーがあります。PythonでPHPエラーを表示する

文字列としてエラーをキャッチするにはどうすればよいですか?

proc = subprocess.Popen("php /path/file.php", shell=True, stdout=subprocess.PIPE) 
result = proc.stdout.read().decode("utf-8") 
+0

たぶんこれが返す 'stderr' –

答えて

0

エラーメッセージは通常、むしろstdoutよりも、stderrに書き込まれます。そうであれば、対応する属性から取得できます。

proc = subprocess.Popen(["php", "/path/file.php"], 
         stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
out = proc.stdout.read().decode("utf-8") 
err = proc.stderr.read().decode("utf-8") 
+0

を読む:はAttributeError:「をNoneType」オブジェクトが属性 – unska

+0

はあなたが正しくコードをコピーしていることを確認してください@unska「読み取り」を持っていません。私のためにうまく動作します。おそらく 'stderr'引数を渡さなかったでしょう。 –