通过PHP调用Python脚本并解决错误

1 投票
2 回答
8222 浏览
提问于 2025-04-16 15:56

我有一个php/action.php的文件。这个脚本会在../data/文件夹里创建一个myfile.kml的文件。创建完这个文件后,我想对它进行修改。所以我通过下面的方式调用一个python脚本:

exec("python mypythonscript.py someparams");

当我访问这个网站时,php会显示错误信息。有没有办法也把python的错误信息显示在网页上呢?

看起来这个python脚本在我通过终端执行时是可以正常工作的,但php似乎没有办法运行这个脚本。所以我需要一些提示来找出问题出在哪里。我得说,我对网页编程还很陌生,所以请多多包涵。如果你需要更多信息来帮助我,我很乐意回答你的问题。

祝好,

Aufwind

2 个回答

6

如果你给exec传递一个额外的数组,你可以看到它的输出(然后查看这个数组的内容):

exec("python mypythonscript.py someparams",$my_output);
var_dump($my_output);

从这里你应该能进行调试了。

2

最可能的原因是,php执行脚本时是以一个不同的用户身份运行的,因此它的权限和你在命令行中调用时的权限是不一样的。你需要给运行php的用户(通常是www-data)权限,让它可以执行你的python脚本所需要做的事情。

撰写回答