background image

windows 下使用 PHP 实现定时执行脚本

 一直以来,使用 PHP 定时运行脚本都是让大家头痛的问题,但是我们确实可以利用

windows 的计划任务来定时调用 PHP 脚本,当然这还要感谢 PHP.exe。下面,将向大家介
绍,如何来实现。

目标:根据系统时间定时执行 PHP 脚本,不需要人工运行(这里以定时新建一个文

本文件并写入内容为例)

解决步骤:
1、建立 PHP 脚本,如下:
<meta charset='utf-8'>

<?php
file_put_contents('D:\\Program Files (x86)\\Web\\www\\root\\1.txt','ok');
?>
大家,可以看见,我们在这里对将要创建的文件路径使用了绝对路径,这是因为我们将
要通过 windows 命令行来调用此脚本,由于 cmd.exe 与我们的 web 根目录是不一样的,而
php 的文件目录函数只能在 web 根目录范围内进行操作,所以我们需要使用绝对路径,
且路径分隔符要用 2 个反斜杠,否则代码将正确执行但是文件将不会被创建。

2、新建.bat 文件,代码如下:
"D:\Program

 

Files

 

(x86)\Web\PHP\php.exe"

 

-f

 

"D:\Program

 

Files 

(x86)\Web\www\root\go.php"

保存,并命名为 run.bat。
注意,如果你的 PHP 目录或 web 根目录中含有空格,你需要使用引号将整个路径引

用起来,否则将运行错误。站长的目录中含有空格,因此使用了引号。创建属于你自己的
bat 文件时,请根据自身情况决定是否要使用引号和文件的目录。

3、添加 windows 计划任务
从控制面板中打开计划任务(这里主要针对 win7 用户进行说明),点击“创建基本

任务”,填写名称和描述,然后点击“下一步”,选择任务执行的频率,很好理解,然后点
击“下一步”,设置任务的执行时间,然后点击“下一步”,选择“启动程序”,点击“下一
步”,点击浏览按钮选择我们建立的“run.bat”文件,点击”下一步“,点击”完成“。

4、运行

根据你设置的时间,系统会定时自动运行,如果你等不及也可以手动执行。在 计划

任务“中间栏下方的任务名中查找你刚才新建的任务,鼠标双击该任务,单击右边的运行
按钮,系统会弹出一个 cmd 对话框然后关闭,这说明你的脚本已经正确执行了,到创建
文件的目录去检查文件是否创建。

好了,在 windows 下使用 PHP 实现计划任务就介绍到这里了,希望对大家有帮助。