1

以下のようにphpからpythonスクリプトを実行しようとしています

 exec('python C:/wamp/www/Proj/bin/test_wrapper.py');

それはtest_wrapper.pyを起動しなかったので、test_wrapper.pyの代わりにC++を使用してexeを作成しようとし、以下のようにphpからそのC++ exeを呼び出そうとしました

 exec('C:/wamp/www/Proj/bin/LaunchEngine.exe');

再び機能しませんでした.exec()を使用しているときに、非常に基本的なことが欠けていると確信しています.私はpythonとphpの初心者です. 私のphp、python/C++ exeは同じサブディレクトリ(bin)にあります。私を助けてください。参考までに、ここに私の python スクリプト test_wrapper.py import subprocess があります

def main():
    script=subprocess.Popen('python proj2xml.py')
    script.wait()
    script=subprocess.Popen('python cost2xml.py')
    script.wait()

    launch_fcs_engine=subprocess.Popen('fcs.exe')
    launch_fcs_engine.wait()

if __name__ == '__main__':
    main()

前もって感謝します

4

1 に答える 1

1

私が考えることができる2つの可能性があります。1. test_wrapper.py スクリプトを実行する権限がない場合は、ファイルの権限を変更します。 2. ブラウザから PHP スクリプトを実行しようとしている場合、PHP スクリプトは apache ユーザーで実行され、 python には apache ユーザーとして実行する権限がありません。(コマンド ラインで python スクリプトをテストするときは、root として実行しています。Web サーバーを root として実行していない可能性があり (これは良いことです)、Web サーバーのユーザーには、作成および/またはそのファイルに書き込みます。) 私は Windows にあまり詳しくありません。Windows で同等の chmod および chown linux コマンドを試してください。

確認してください。

于 2013-09-18T13:41:35.897 に答える