0

我有使用在 Gentoo linux 下运行的 mod_python 3.3.1/Python 2.5 的 Apache/2.2.11。在我的 python 脚本中,我使用 wine(os.popen2 调用)调用了一个 win32 exe。这在 Apache 之外运行良好,但在 mod_python 下我得到:

wine: cannot open /root/.wine : Permission denied

在 /var/log/apache/error_log 中。我的 apache 安装没有作为 root 用户/组运行。有什么想法为什么要调查 /root/.wine 吗?

4

2 回答 2

3

可能是因为$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)
于 2009-02-04T20:03:02.477 回答
1

我也过得很艰难,做了很多研究,但失败了。最后通过添加文件找到'WINEPREFIX="/srv/www/.wine"'了最简单的方法:/etc/init.d/httpd

case $ARGV in
start|stop|restart|graceful|graceful-stop)
    WINEPREFIX="/srv/www/.wine" $HTTPD -k $ARGV
    ERROR=$?
    ;;

将所有者复制/root/.wine to /srv/www/.wine并更改为 apache(从根目录)。希望这能解决问题。

于 2011-06-07T09:46:32.903 回答