我如何在PHP中安排动作

时间:2014-12-01 05:40:49

标签: php

我写了一个PHP脚本来发送电子邮件。现在我想添加一个功能,根据时间表发送电子邮件。我只知道将执行由用户操作触发的任务的功能(例如,如果用户按下表单按钮,则脚本会评估当前时间是否大于计划时间并相应地执行操作)。

有没有办法设置一个根据计划执行操作的不受监控的系统?

4 个答案:

答案 0 :(得分:3)

你应该使用cronjob!

cronjob示例,每天下午6点运行php脚本:

0 18 * * * php /path/to/script.php

通过ssh设置cronjob:

1.型号:

crontab -e
  1. 将该行添加到文件中:

    0 18 * * * php /path/to/script.php

  2. 保存文件

  3. 完成

  4. 如果您无法访问Linux计算机/服务器,则可以使用许多免费的cron服务!


    如何设置一般的cronjob:

     # * * * * *  command to execute
     # │ │ │ │ │
     # │ │ │ │ │
     # │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
     # │ │ │ └────────── month (1 - 12)
     # │ │ └─────────────── day of month (1 - 31)
     # │ └──────────────────── hour (0 - 23)
     # └───────────────────────── min (0 - 59)
    

    cronjobs中的特殊字符

    星号(*)

    星号表示cron表达式匹配字段的所有值。例如,在第4个字段(月)中使用星号表示每个月。

    斜线(/)

    斜杠描述范围的增量。例如,第1场(分钟)中的3-59 / 15表示小时的第3分钟,之后每15分钟。形式“* / ...”等同于“first-last / ...”形式,即在该字段的最大可能范围内的增量。

    逗号(,)

    逗号用于分隔列表的项目。例如,在第5个字段(星期几)中使用“MON,WED,FRI”表示星期一,星期三和星期五。

    连字符( - )

    连字符定义范围。例如,2000 - 2010年表明每年在2000年至2010年之间,包括在内。

    百分比(%)

    除非使用反斜杠()进行转义,否则命令中的百分号(%)将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。

答案 1 :(得分:1)

PHP没有这样的东西。 PHP只有在您进入特定页面时才会执行。然后将其发送到服务器,该服务器运行脚本并为您提供结果。

你应该考虑CRON,它基本上按照设定的时间表运行特定的脚本(pagexxx.php)。

答案 2 :(得分:0)

您可以将服务器配置为转到编写PHP的页面,然后执行某些操作。

cPanel - Add a cron job

服务器将每周,每天,每小时,每年转到页面...但是您指定它。

答案 3 :(得分:0)

您可以创建一个Cron作业来自动执行PHP任务。

How to Create a Cron Job

Cron - Wikipedia

Tutsplus - How to create a Cron Job

正如拉斐尔所说,如果您使用的是CPanel,this可能有所帮助。