从PHP执行Python脚本

时间:2016-08-10 09:34:07

标签: php android python linux exec

我正在创建一个Android应用程序,我首先将图像上传到服务器,在服务器端,我想从PHP执行Python脚本。但我没有得到任何输出。当我从命令提示符访问Python脚本并运行python TestCode.py时,它会成功运行并提供所需的输出。我使用以下命令从PHP运行Python脚本:

$result = exec('/usr/bin/python /var/www/html/Source/TestCode.py');

echo $result

但是,如果我从PHP运行一个简单的Python程序就可以了。

PHP具有访问和执行文件的权限。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

exec('/usr/bin/python /var/www/html/Source/TestCode.py', $output);

var_dump($output);

exec的第二个参数将给出输出

修改

exec('/usr/bin/python /var/www/html/Source/TestCode.py 2>&1', $output);

2>&1 - 将stderr重定向到stdout。现在,如果出现任何错误,将填充$output

答案 1 :(得分:1)

  1. 首先使用“which python”命令检查你的python PATH,检查结果是/ usr / bin / python。

  2. 如果你写了#!/ usr / bin / sh,请检查你的“TestCode.py”,而不是用#!/ usr / bin / bash替换它。

  3. 比运行这些命令 exec('/ usr / bin / python /var/www/html/Source/TestCode.py',$ result); echo $ result