我有一个php脚本,需要在后台运行。目前在我的开发箱中,我正在运行
shell_exec("php5-cgi <path>");
它运行良好。尽管如此,当我将代码推送到专用的phpfog云上时,脚本似乎没有被调用。我找不到问题出在哪里。是exec_shell不工作还是php5-cgi命令不存在。
我怎样才能更好地理解发生了什么?
您可以尝试从exec调用中删除5-cgi
:
exec_shell("php <path>");
此外,您可以为此使用cron作业:http://docs.phpfog.com/customize/cron
创建一个cron作业,以满足您的需求的间隔运行<path>
(假设路径是php文件)。PHPFog让这一切变得非常容易。
如果你试图执行一个长时间运行的任务,而不是让浏览器等待结果,我建议你在数据库表中排队,然后使用cron作业执行一个php脚本来处理这些排队的任务。我会使用来自客户端的ajax调用来检查任务的状态,然后在任务完成时进行页面刷新。