妙博客

主机评测 香港服务器 洛杉矶VPS测评

PHP执行Python脚本,出现PermissionError: [Errno 13] Permission denied

php代码如下:

<?php
exec("python test.py 2>&1", $output, $result);


结果返回如下:

$result=1(0为成功,1为失败)

$output=......PermissionError


说明php对应的APache用户的权限不够,解决方法如下:

  1. 找到你的apache目录下的配置文件conf

    vim /phpstudy/server/httpd/conf/httpd.conf

  2. 搜索User,找到你Apache对应的用户,我目前用户是daemon

    image.png

  3. 执行visudo,添加代码daemon ALL=(ALL) NOPASSWD:ALL

visudo
daemon ALL=(ALL) NOPASSWD:ALL

image.png


4.wq保存,然后你的php代码加上sudo

<?php
exec("sudo python test.py 2>&1", $output, $result);

此时,可以看到result结果为0,即表示成功!!!


Copyright Your 142132.com Rights Reserved. 赣ICP备17010829号-2