试图通过PHP执行python命令但权限错误

时间:2014-06-19 10:15:09

标签: php python

我上传了一个图片文件并将其从临时文件夹复制到/ var / www /中的文件夹。然后,尝试通过php执行python命令,其中 exec()命令采用以下格式。

exec('python file.py $_FILES["file"]["name"]');

甚至做以下操作都不起作用,

exec('python file.py' + $_FILES["file"]["name"]);

在python方面,我正在尝试读取文件名并对其进行一些处理并保存图像。

source = cv2.imread(sys.argv[1])
#some processing    
cv2.imwrite("upload/result.png", resultimage)

注意:上传后的上传图片显示为www-data group所有。我已将我的用户添加到www-data组,并且还完成了以下操作。

sudo chown -R tilaprimera:www-data upload

sudo chmod -R g+s upload

这里上传是我的文件夹,存储上传的图片。我也使python脚本可执行,

sudo chmod +x script.py 

并且script.py完全正常运行

./script.py 

为什么python脚本不能通过php执行?

1 个答案:

答案 0 :(得分:1)

在python脚本文件中,目录更改以

完成
os.chdir('/var/www/upload')

在php方面,我给出了运行python脚本的完整路径

exec('python /var/www/upload/script.py ' . $_FILES["file"]["name"]);

这样,问题就解决了。