0

Pythonプログラムを実行するphpページを作成しようとしています。Python プログラムは、PHP ページで使用できる HTML コードを記述します。端末から python プログラムを実行すると、すべて正常に動作します。

しかし、その後、php から python プログラムを実行しても何も起こりません。私が使用exec("python program.py",$output)する場合$output == "array ( )"

BUT if I remove the line `f = open('/var/www/data.php', w)`  
the `$output == " array ( 0 => 'start program', 1 => 'open error' ) "`

PHPコードの一部:

 output = null;
 exec("python /var/www/webwrite.py", $output);
 echo var_export($output, TRUE);

Pythonコードの一部:

print "start program"

f =  open('/var/www/data.php', 'w')
if f <> 0:
    print "open file"
    f.write('<div class=divdata><pclass="data">Data</p><div id="webdata">')
    fstr = '%3.1f'%data
    f.write(fstr)
    f.write('</div></div>')
    f.close()
else:
   print "open error" here

open(filename, w)php から実行される python でどのように使用できますか? そして、openコマンドを使用してからphpからexecできないのはなぜですか。「開く」の代わりになる場所

4

1 に答える 1

0

一般に、このような場合は、PATH またはパーミッションに問題がある可能性があります。

たとえば、Web サーバーが実行されているのと同じ所有者に py スクリプトを chown してみてください (Web サーバーが単一ユーザーとして実行されていると仮定します)。

chown apache:apache your.py

開いたり書き込んだりするファイルも、同じユーザーが所有する必要があります。次に、権限を増やす必要がある場合があります。

chmod 775 your.py

それでも問題が解決しない場合は、Python スクリプトへのフル パスを入力してください。これは次の方法で取得できます。

which python

ただし、これらのフル パスを PHP コードにハード コードしないでください。構成ファイルに入れます。

于 2013-02-28T16:02:37.483 に答える