PHP使用任务计划实现定时任务

时间:2022-01-25 07:48:56

前言

我们在开发项目时,有时候可能有这样的需求,需要程序在某一个特定的时间段执行PHP代码,但是对于PHP来说,PHP是单线程的,并不能像JAVA等语言一样开启多个线程,这时我们就可以使用到window的任务计划进行操作。

任务计划

利用“任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行

概述

“任务计划”在每次启动 Windows的时候启动并在后台运行。

使用“任务计划”可以完成以下任务:

  1. 计划让任务在每天、每星期、每月或某些时刻(例如运行PHP代码)运行。
  2. 更改任务的计划。
  3. 停止计划的任务。
  4. 自定义任务在计划时刻的运行方式。

执行PHP代码

在这里利用任务计划执行PHP代码,每个一分钟执行一次PHP代码,把文字写入到文件中。

步骤:

  1. 编写PHP代码
  2. 编写bat文件
  3. 创建任务计划

编写PHP代码

PHP使用任务计划实现定时任务

文件地址写绝对路径。相对路径使用任务计划创建不出来。

编写bat文件

bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。

就像上面说的一样,我们只要在bat文件里面写入执行命令就可以执行PHP代码。

D:\util\php\php-5.4.45\php.exe -f D:\util\WWW\b.php

我们需要指定php.exe这个文件的路径,利用php.exe去执行上面编写的PHP代码的文件。

创建任务计划

首先打开任务计划,开始 -> 控制面板 -> 管理工具 -> 任务计划程序

创建任务计划

  1. PHP使用任务计划实现定时任务

  2. PHP使用任务计划实现定时任务

  3. PHP使用任务计划实现定时任务可以根据需求修改执行间隔时间

  4. PHP使用任务计划实现定时任务操作类型是启动程序,然后选中刚刚创建的bat文件。点击确定完成创建

  5. PHP使用任务计划实现定时任务

创建完任务计划,就可以看到每个一分钟,系统就会自动的执行PHP代码,写入数据到文件中。

PHP使用任务计划实现定时任务

总结

使用任务计划这种形式就可以实现在特定时间执行PHP操作,来操作数据或者改变数据,通常我们都是在改变数据库的数据。任务计划只是在window上使用的,如果服务器是Linux则可以使用Crontab进行实现。