我的Apache/2.2.11使用的是Gentoo linux下运行的mod_python 3.3.1/Python2.5。在我的python脚本中,我使用wine (os.popen2调用)调用了一个win32 exe。这在Apache之外工作得很好,但在mod_python下我得到:
wine: cannot open /root/.wine : Permission denied在/var/log/apache/error_log中。我的apache安装没有以root用户/组的身份运行。你知道它为什么要查看/root/.win吗?
发布于 2009-02-04 20:03:02
可能是因为$HOME设置不正确...
顺便说一句。你确定从mod_python调用wine是个好主意吗?
如果你确定,像这样的东西可以工作...
from subprocess import Popen
HOME = '/the/home/of/www-data' #PLEASE edit
proc = Popen(cmd, shell=False, stdin=PIPE,
stdout=PIPE, stderr=PIPE, close_fds=True,
cwd=HOME, env={"HOME":HOME)发布于 2011-06-07 17:46:33
我也经历了一段艰难的时光,做了很多研究,但都失败了。最终找到了最简单的方法,在/etc/init.d/httpd文件中添加'WINEPREFIX="/srv/www/.wine"'如下:
case $ARGV in
start|stop|restart|graceful|graceful-stop)
WINEPREFIX="/srv/www/.wine" $HTTPD -k $ARGV
ERROR=$?
;;复制/root/.wine to /srv/www/.wine并将所有者更改为apache (从根目录)。希望这能解决这个问题。
https://stackoverflow.com/questions/513023
复制相似问题