如何让PHP在没有cron的情况下永远工作?

时间:2013-08-18 03:02:43

标签: php mysql cron

有没有办法让php在没有cron的情况下永远工作。 我想要的是通过运行mysql查询几个小时后取消用户,谢谢

2 个答案:

答案 0 :(得分:2)

您可以从命令行启动脚本,让它在后台运行。您将不得不设计此脚本,使其永远不会退出,只需使用sleep()函数永远循环,以避免不必要的处理器负载。由于从命令行调用的php脚本没有最大执行时间,脚本将一直运行,直到您使用kill命令手动将其终止。

编写完脚本后,您可以使用以下命令启动它:

nohup php myscript.php &

nohup一旦您退出启动它的控制台会话,脚本仍会运行,否则它会终止。最后的&符号将脚本作为后台中的新进程启动,以便您可以继续使用控制台。

答案 1 :(得分:2)

如果您无法访问服务器上的cron作业(我猜您在共享主机上运行?),最好的选择是运行“外部cron”。看看www.setcronjob.com。我已经使用了几个月了,它非常稳定。

  1. 您可以对其进行设置,以便随时随地调用您网站上的脚本。 (例如:http://www.yoursite.com/script.xxx
  2. 在脚本中,您可以运行MySQL查询以检查哪些用户已被禁止几个小时,然后取消它们。