我使用以下命令运行python的PHP代码。如果位于file.php中的PHP代码遇到错误,我可以在终端上看到错误,但我想在结果变量上出错。
如何将错误捕获为字符串?
proc = subprocess.Popen("php /path/file.php", shell=True, stdout=subprocess.PIPE)
result = proc.stdout.read().decode("utf-8")
答案 0 :(得分:0)
错误消息通常写入stderr
,而不是stdout
。如果是这种情况,您可以从相应的属性中获取它。
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")