だから私はこのウェブページを持っています。このWebページから、ユーザーはいくつかのものを設定し、ボタンを押します。これにより、JavascriptのXMLHTTPRequestがサーバー上のphpスクリプトになり、JSON文字列が渡され、JSONを解析してPythonスクリプトを実行しようとします。それ:
execute_web_crawler.php:
$result = shell_exec("python /home/directories_go_here/web_crawl.py '".$json."' >> /home/some_other_directories_here/screenshots/test.txt");
fwrite($file, $result);
この python スクリプトでは、いくつかの urllib マジックが発生し、いくつかのページがチェックされ、その後、Selenium webdriver を使用して Firefox ウィンドウを開いて何かを確認しようとします。
web_crawl.py:
def confirm_ad_space(url):
print "FINDING AD PLACEMENT ON ", url
file_write.write("Finding placement...\n")
browser = webdriver.Firefox()
print "BROWSER ONLINE"
file_write.write("Browser Initialized.\n")
file_writes は、スクリプトの実行に関する多くの単語を含むログ ファイルに書き込まれます。PHP によって実行されるコマンド ライン処理により、これらの print ステートメントが TEST.txt に出力されることが期待されます。
しかし、ログの出力は「配置の検索」で停止します
そして、最後の実行での TEST.txt の出力は、単語の途中で停止したように、コードの前半の print ステートメントの途中で停止しました。
さて、この python スクリプトを CLI から手動で実行すると問題ありません。Web インターフェイスから実行すると、ブラウザが開いて停止します。私はそれが許可と関係があるかもしれないと仮定しています。PHP を使用しているユーザーが Firefox などにアクセスできるようにする方法はありますか?