0

Gentoolinuxで実行されているmod_python3.3.1/Python2.5を使用するApache/2.2.11があります。私のPythonスクリプトでは、wineを使用してwin32 exeを呼び出します(os.popen2呼び出し)。これは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 に答える