【问题标题】:PHP background process to do something a day?PHP后台进程一天要做些什么?
【发布时间】:2012-08-05 14:40:55
【问题描述】:

我正在尝试每天在 linux 服务器上自动运行我的 PHP 脚本一次,而无需按下任何东西,只需按一次并且进程会一直运行到特定日期,

如何在不对服务器造成高流量负载的情况下执行此操作?

到目前为止,我所做的是使用 ignore_user_abort() 函数使其保持运行,并在 while 循环中使用 sleep() 函数来检查每个特定时间第二天还剩下多少,但这对于服务器来说似乎是一个高进程

最简单的方法是什么?

【问题讨论】:

    标签: php linux process background


    【解决方案1】:

    如果您使用的是 Linux 服务器,则有一种更简单的方法。只需创建一个cron job (tutorial) 即可每天运行一次脚本。

    我从未使用过它,但 Windows 服务器应该有一个叫做“任务计划程序”的东西来做同样的事情。

    【讨论】:

    • 是的,对不起,忘了提到它是一个 linux debian 服务器,谢谢你的注意,但你能澄清一下这个 cron 工作吗?我读了一些细节,但我没明白,谢谢
    • @Osa 我添加了指向教程/帮助页面的链接
    【解决方案2】:
    00 11 * * * /usr/local/bin/php /home/you/your_script.php
    

    这是一个 cron 作业,它将在每天上午 11:00 运行您的脚本。

    【讨论】:

    • 它在完成后停止——要么执行完成,要么从脚本内部调用 exit()。
    • @joar 他说每天这意味着永远,如何管理正在运行的 crons ?
    • cronjob 没有运行。 Cron 一直在运行;解释 timimg 条件,如果它们匹配当前时间,Cron 将通过 bash/sh 执行 linux 命令。
    • @Osa,您可以一次运行多个 cron 作业,并且可以根据需要删除它们。有关添加作业的更多信息,请使用crontab
    • @WouterH,看看我的代码;它的第一部分调用php,第二部分然后调用脚本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    相关资源
    最近更新 更多