所以我有这个网页。在这个网页上,用户设置了一些东西,然后按下一个按钮,在 Javascript 中向服务器上的 php 脚本发出 XMLHTTPRequest,传递一个 JSON 字符串,它在解析 JSON 并做一些事情后尝试执行 python 脚本它:
执行_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 完成的命令行内容有望将这些打印语句输出到 TEST.txt。
但是我的日志输出在“查找位置”处停止
最后一次执行时 TEST.txt 的输出在代码前面的 print 语句中间停止,就像它读到一半就停止了一样。
现在,当我从 CLI 手动运行这个 python 脚本时,一切正常。如果我从 Web 界面运行它,它会打开浏览器并停止。我假设它可能与权限有关。有没有办法确保 PHP 的用户可以访问 Firefox 或其他东西?