我想从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
我的代码出了什么问题
答案 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");