无法从PHP调用python脚本

时间:2016-08-19 09:56:17

标签: php python-2.7

我想从php文件中调用python脚本,两个文件都放在同一个目录中

这是我的PHP代码: -

<?php
$command = escapeshellcmd("/home/vyclean06/Desktop/trlNerr/boobank/Paypal.py");
$output = shell_exec($command);
echo $output;
?>

执行此代码后出现以下错误

sh: 1: /home/vyclean06/Desktop/trlNerr/boobank/Paypal.py: Permission denied

我的代码出了什么问题

2 个答案:

答案 0 :(得分:0)

检查paypal.py是否与同一用户关联(我猜是apache)。 如果没有,尝试运行(ubuntu):

chown www-data:www-data Paypal.py

的centos

chown -R apache.apache Paypal.py

如果是,请使用

使其可执行
chmod +x Paypal.py

答案 1 :(得分:0)

您可以告诉exec()或execshellcmd()以特定用户身份运行python脚本,而无需事先更改任何权限。如果您知道有权运行该文件的用户,您可以执行以下操作。这个例子说该脚本应该以用户&#34; root&#34;无论PHP使用什么用户。

IEnumerable<Foo> foos = notQuiteFoo.Results.Select(r => {r.Foo.Bars = r.Bars; return r.Foo;});

或者像某些评论建议的那样,检查哪些权限是针对它的,并确保&#34; apache&#34;用户(或PHP运行的任何用户)具有正确的权限。

鉴于您正在使用exec,您可以通过以下方式找到PHP用户:

exec("sudo -u root -S /home/vyclean06/Desktop/trlNerr/boobank/Paypal.py");