我正在尝试通过一个应该抓取一些网站的PHP页面运行python脚本(如果有帮助,请使用scrapy)。该程序不带参数,应该将结果写入数据库。单独运行此python脚本不会有任何问题。但是,尝试从PHP运行它,它根本不执行任何操作,并且数据库中的值永远不会更新。
我尝试了exec,shell_exec和escapeshellcmd的组合,但是没有运气。我尝试将输出(脚本在标准输出上打印日志信息,但我对此信息不感兴趣)重定向到dev / null。我试图将打印语句添加到末尾并等待输出,但是仍然没有任何反应。无论我在使用哪个PHP页面,我都试图在后台运行它,或者在重定向之前等待程序完成。编辑:删除重定向无济于事,如果我这样做,代码仍然根本不会执行。
这是我目前的简单代码:
set_time_limit(900);
$command = escapeshellcmd('/usr/bin/python /path/to/file/script.py > /dev/null &');
shell_exec($command);
//function to redirect to the next page
redirect('arguments');
我希望以任何方式运行脚本,无论是等待输出还是在后台运行它-此时,最重要的事情就是只运行脚本。我对PHP不太熟悉,因此不胜感激。