我尝试使用PHP的exec()函数执行python脚本。在
.php页面通过浏览器加载:<?php
echo exec("whoami");
echo(exec("/bin/python2.7 /var/www/cgi-bin/api/download.py"));
?>
下面是python脚本:
^{pr2}$
如果以Apache用户身份执行.py或.php,则一切正常。
但是使用我的浏览器,在写文件时:fh = io.FileIO("api/test.pdf","wb")
我的apache错误日志中有以下输出:Traceback (most recent call last): File
"/var/www/cgi-bin/api/download.py", line 46, in
fh = io.FileIO("test.pdf","wb") IOError: [Errno 13] Permission denied: 'test.pdf'
嗯,我很确定这是由于父文件夹的权限,然后是父文件夹的父文件夹的权限。但我给这些文件夹设置了777权限,它什么也没做。在
我的php脚本在/var/www/html/manager中/执行.php
py脚本位于/var/www/cgi-bin/api中/下载.py在
folders/www/,/cgi-bin/,/api/拥有777个权限。在
我知道这不是一个好的做法,但我想先解决这个问题,然后再做更干净的事情。在
提前谢谢