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