2017-03-07 6 views
0

私はPHPを使用してWebサーバ(Apache)からPythonスクリプトを実行しようとしています。私は、ドキュメントルートディレクトリにtest.pyを入れたときにそれが正常に実行される次のコマンドをWebサーバでpythonスクリプトを実行するディレクトリ

のexec(のpython test.py $ ARG1 $ ARG2、$出力、$結果)

を使用しました。しかし、別のサブディレクトリからpythonスクリプトを実行して、pythonスクリプトのoutoutを簡単に管理できるようにしたかったのです。

何のPythonスクリプトが行うこと

  1. は、Pythonスクリプトを作成したフォルダに存在する
  2. は、同じディレクトリからファイルをコピーするフォルダを作成しているが(1)
  3. は、フォルダにジップ

pythonスクリプトのドキュメントルートとサブディレクトリには同じアクセス許可があります。

それはDocumentRootのからコピーするファイルを探し続けていることから、それは(Apacheのエラーログファイルに)「そのようなファイルやディレクトリ」のエラーが発生していない

+0

あなたは「スクリプトを実行するとはどういう意味ですか別のサブディレクトリに "? 'test.py'の場所を変更しますか?スクリプトが現在の作業ディレクトリと考える内容を変更しますか?他に何か? –

+0

私は、ドキュメントルート –

+0

とは別のディレクトリからpythonスクリプトを実行したい場合は、pythonスクリプトを実行したいディレクトリにphpファイルとpythonスクリプトを置くことができます。 phpファイルを移動できない場合、exec()を呼び出す前にまずchdir()を呼び出すことができます。 – Shiping

答えて

0

同じで、あなたのpythonファイルとPHPファイルの場合フォルダ:

$command_to_run = "test.pyw $arg1 $arg2 , $output, $result"; $response = shell_exec($command_to_run);

$command_to_run = "<php_folder>/scripts/python/test.pyw $arg1 $arg2 , $output, $result"; $response = shell_exec($command_to_run);

関連する問題