gpt4 book ai didi

php - 处理PHP中的Python异常/错误

转载 作者:行者123 更新时间:2023-12-03 07:50:16 26 4
gpt4 key购买 nike

我正在使用PHP的exec($cmd, $output)函数从PHP脚本中运行一些python脚本。

documentation指出程序的所有输出都已写入$output数组。这很好用,但是,如果Python代码引发异常/错误,则该函数似乎只是返回NULL,而没有有关该异常的任何信息。

例如:

run_python.py

print('starting python')
x = 1/0 #This will raise an error
print('complete python')

交互式PHP shell 运行它会产生以下结果:
php > $output = '';
php > $ret_val = exec('python run_python.py', $output);
Traceback (most recent call last):
File "run_python.py", line 2, in <module>
x = 1/0
$output数组仅包含 starting python,而 $ret_val不包含任何内容。

对于交互式 shell ,这是可以的,但是我正在从Web界面运行代码,并且从未显示错误信息。有什么方法可以捕获该错误,然后使用 echo显示该错误?

我确实尝试过 shell_execpassthru,但是没有成功。

最佳答案

将stderr重定向到stdout

$ret_val = exec('python run_python.py 2>&1', $output);

关于php - 处理PHP中的Python异常/错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28685036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com