我如何实现任务是在网站(即普通的php / Mysql网站)后面计算的,而不是由网站用户触发的,例如在创建它的用户脱机时自动从sql db中删除聊天室,在带有用户聊天室的简单网络聊天中?另一个例子是一些基于文本和图像的Browsergame,其中每5分钟(在Servertime中),当计算2个或更多用户在同一地图块上相遇时,在基于图像的游戏地图上计算的所有单位移动和最终用户之间的战斗?计算出的损坏将发送回PHP / Ajax网站
答案 0 :(得分:1)
要每隔一定的时间(即每五分钟)启动任务,您将使用CRON作业。进行设置将取决于您正在运行的服务器类型。如果您具有CPANEL或PLESK之类的服务器GUI,则应该有用于设置CRON作业的控件。本质上,您以这种格式输入时间
分钟,小时,日期,月份,星期几
因此1 * * * *每天每天的第一分钟运行。
您将其指向命令-可能是shell脚本,它将运行您需要执行的任何操作。
要将其传达回“服务器”,您基本上只需更新数据库或cron作业中正在使用的任何数据存储。
因此,在您的第一个示例中,您每隔五分钟要做一次操作,
* / 5 * * * * /path/to/script.sh
然后在该脚本中,执行所需的任何操作并将其保存回数据库。
如果您使用的是前面提到的服务器管理GUI,最简单的方法就是跳到那里找到cron作业标签并输入。
如果您仅通过外壳程序访问来管理服务器,则需要将其放入crontab中。该命令可能取决于您使用的操作系统,但可能是
crontab -e