一直以来,使用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、新建.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实现计划任务就介绍到这里了,希望对大家有帮助。
在网上找了些WINDOWS执行PHP的计划任务的方法,有一个写得很全,可惜在我这竟然没通过。最后不得不综合各门派的方法,才能在我这运行成功。
1、写一个PHP程序,命名为test.php,内容如下所示:
1 |
<? |
2 |
$fp = fopen ( "test.txt" , "a+" ); |
3 |
fwrite( $fp , date ( "Y-m-d H:i:s" ) . " 成功成功了!\n" ); |
4 |
fclose( $fp ); |
5 |
?> |
程序大胆地写,什么include\require尽管用,都没问题
2、新建Bat文件,命名为test.bat,内容如下所示:
1 |
D:\php\php.exe -q D:\website\test.php |
//相应目录自己改上
3、建立WINDOWS计划任务:
开始–>控制面板–>任务计划–>添加任务计划
浏览文件夹选择上面的bat文件
设置时间和密码(登陆WINDOWS的)
保存即可了。
4、over! 可以右键计划任务点“运行”试试