2016-08-11 2 views
0

私のためにいくつかのタスクを処理するPHPスクリプトを書いています(特に、メディアサーバー上でビデオをエンコードする)。私はそうのようなのpythonを経由して、このスクリプトを呼び出して試験:Djangoプロジェクトの中からPHPスクリプトを呼び出す:入力ファイルを開くことができません

proc = subprocess.Popen("php vodworkflow_drm_playready_widevine.php videos " +str(video), shell=True, stdout=subprocess.PIPE) 

これは正しく働いていた(すなわち、スクリプトに渡されたビデオ名が正しくエンコードされ、このようました)。しかし、Popenを私のDjangoプロジェクトの中から呼び出すと、出力はCould not open input file: my_script.phpになります。

私は困惑しています!誰もが何が起こっているのか、私はこれを修正するために何ができるのかを手伝ってくれますか?ありがとう、私はしばらくの間立ち往生してきました。 PHPスクリプトとより詳細なコードを参照する必要がある場合は、私に知らせてください。

答えて

1

phpファイルをフルパスでphpバイナリにポイントします。

proc = subprocess.Popen("php /root/www/bla_bla/vodworkflow_drm_playready_widevine.php videos " +str(video), shell=True, stdout=subprocess.PIPE) 

また、Popenはcwd引数をとります。そのパスを指定します。ポイントこのうち私の友人のための

https://docs.python.org/3/library/subprocess.html#using-the-subprocess-module

http://sharats.me/the-ever-useful-and-neat-subprocess-module.html#execute-in-a-different-working-directory

+0

感謝。 –

関連する問題