2011-02-27 10 views
3

hey yall。 DreamhostのWebサーバー上でPythonを実行しています。私は彼らのpythonのインストールを使用していますが、ここで見つけることができlastfmモジュール使用しています:それはlastfmモジュールがそこにインストールされているので、私はこのPHP execのpythonが動作しない

import sys 
sys.path.append("/home/myusername/build/Python-2.5/Lib/site-packages/") 
import lastfm 

を行い、適切にインポートするために取得するhttp://code.google.com/p/python-lastfm/

を。

私のサーバーにsshを使用するとき、私は単にpython test.pyを実行するだけで完全に動作します。しかし、私はPHPスクリプトからそれを実行すると

exec("python test.py"); 

それはsuppossedly動作せず、スクリプトが実行されません。

import lastfm 
api=lastfm.Api(api_key) 

それは実行されません:私は

import lastfm 

を行い、その後 、後に他のものを持っているが、私は実際のようなモジュールで何かをしようとするとき、それは完全に罰金実行します。もう一度私はシェルで同じpython installを使用してスクリプトを実行することができ、それは正常に実行されます。だから私はPHPスクリプトからそれを実行するときに間違って行く何かが起こっている必要があります。私はそれが正確に同じpythonとすべてを実行すると思った。私は他の投稿をチェックし、ファイルパーミッションのあるものかもしれないと言っていますが、777にすべてのファイルを置いてもそれはまだ動作しません。どのような問題が起こっているのだろうか。事前にみんなに感謝します。

+0

'passthru(" python test.py ")'は何を示していますか? – delphist

+0

私はPHPのnewbとはそれについて多くを知っていないが、私はこれを行い、何も返しませんでした:passthru( "python test.py、$ result"); echo $ result; – stackVidec

答えて

1

python実行ファイルへのフルパスを使用してみてください。たとえば、次のように

のexec( "は/ usr/binに/ Pythonのtest.py")

あなたはどのコマンドを使用して、コマンドラインからの完全なパスを見つけることができます。

$これのpython は/ usr/bin/python

+0

私はどのPythonを実行し、/ usr/bin/pythonを入手し、あなたが言ったことをやったが残念なことにそれは動作しませんでした。編集:私はちょうどそれをテストし、usr/binからPythonのバージョンを実行し、lastfmモジュールを削除すると動作するので、実行されますが、以前と同じ問題があります。 – stackVidec

1

pythonがどんなエラーを起こしていても、子供の標準エラーが出ます。標準エラー出力から読み取るためにPHPを伝えるのいずれか試してみてください、または(Pythonで)これを行う:Windowsユーザーの場合

import sys 
sys.stderr = sys.stdout 
0

$output = null; 
exec('C:\\Python27\\python.exe C:\\sud.py', $output); 
echo var_export($output, TRUE); 

私が理由です一日^^
を探していたコード - 希望をそれは誰かを助けるでしょう。

-1

Windowsユーザーの場合 - Karlisupのおかげで、私のPHPファイルはPythonを読むことができました。 EC2 AmazonでBITNAMI WAMPを使用しています。私のpythonファイル(leadatos.py)とPHPファイルはhtdocsフォルダにあります。

私の呼び出しは、私のPythonのファイルの最後の行がprint "message"

<?php 
 
    passthru('C:\\Python27\\python.exe leadatos.py'); 
 
?>

ました。

希望する単語!

関連する問題