我正在创建一个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具有访问和执行文件的权限。
我在这里缺少什么?
答案 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)
首先使用“which python”命令检查你的python PATH,检查结果是/ usr / bin / python。
如果你写了#!/ usr / bin / sh,请检查你的“TestCode.py”,而不是用#!/ usr / bin / bash替换它。
比运行这些命令 exec('/ usr / bin / python /var/www/html/Source/TestCode.py',$ result); echo $ result