ubuntu

Ubuntu下PHP如何实现定时任务

小樊
46
2025-09-21 03:08:33
栏目: 编程语言

在 Ubuntu 下,您可以使用以下两种方法来实现 PHP 定时任务:

方法一:使用 Cron 任务

  1. 打开终端。

  2. 输入 crontab -e 命令来编辑当前用户的 Cron 配置文件。如果您是第一次使用 Cron,请按照提示创建一个新的配置文件。

  3. 在打开的配置文件中,添加一行新的 Cron 任务。Cron 任务的格式如下:

* * * * * /usr/bin/php /path/to/your/script.php

这里的五个星号分别表示分钟(0-59)、小时(0-23)、月份中的某天(1-31)、月份(1-12)和星期中的某天(0-7,其中 0 和 7 都表示星期日)。您需要根据实际需求调整这些值。

例如,如果您希望每天凌晨 1 点执行 PHP 脚本,您可以这样设置:

0 1 * * * /usr/bin/php /path/to/your/script.php
  1. 保存并关闭配置文件。Cron 任务将自动生效。

方法二:使用 Systemd 定时器

  1. 创建一个新的 Systemd 服务文件。在 /etc/systemd/system/ 目录下创建一个名为 my-php-script.service 的文件,内容如下:
[Unit]
Description=My PHP Script

[Service]
Type=simple
ExecStart=/usr/bin/php /path/to/your/script.php

/path/to/your/script.php 替换为您的实际 PHP 脚本路径。

  1. 创建一个新的 Systemd 定时器文件。在 /etc/systemd/system/ 目录下创建一个名为 my-php-script.timer 的文件,内容如下:
[Unit]
Description=Run My PHP Script every day at 1 AM

[Timer]
OnCalendar=*-*-* 01:00:00
Persistent=true

[Install]
WantedBy=timers.target

这将设置一个定时器,每天凌晨 1 点触发 my-php-script.service

  1. 重新加载 Systemd 配置:
sudo systemctl daemon-reload
  1. 启用并启动定时器:
sudo systemctl enable --now my-php-script.timer

现在,您的 PHP 脚本将按照指定的时间执行。您可以使用 sudo systemctl list-timers 命令查看所有定时器的状态。

0
看了该问题的人还看了