php定时任务

来源:互联网 发布:淘宝提升销量 编辑:程序博客网 时间:2024/05/22 14:23
PHP定时执行任务


两种方式:


一、Linux 服务器
Linux原生支持crontab,所以可以利用这一功能做定时任务


步骤:


1、编辑crontab文件:
Linux:crontab -e


2、输入代码:
0 0 * * 6 /etc/init.d/httpd restart && /etc/init.d/mysqld restart
代码解释:每周六0点自动重启apache和mysql,第一项(前面5位)是时间设置,具体格式百度之,不赘述,下同;
第二项是apache所在目录,
第三项上执行具体方法,
后面的&&可以连写,也可以删除&&后,换行,即也可以这么写:
0 0 * * 6 /etc/init.d/httpd restart
0 0 * * 6 /etc/init.d/mysqld restart


0 9 * * * /usr/bin/curl http://www.website.com/Index/test
代码解释:每天上午9点自动执行一次http://www.website.com/Index/test方法
第二项代表curl所在目录,
第三项代表所要执行的url
(若要执行PHP文件,与此格式类似,具体百度之。。)


esc
:wq 保存


二、Windows服务器:

Windows服务器可以利用系统的计划任务实现

windows上和linux上有一个类似的cmd和bat文件,bat文件类似于shell文件,执行这个bat文件,就相当于依次执行里面的命令(当然,还可以通过逻辑来实现编程),所以,我们可以利用bat命令文件在windows服务器上面实现PHP定时任务。实际上在windows上定时任务,和linux上道理是一样的,只不过方法和途径不同。



步骤:


1、创建一个bat批处理文件,如:
D:\xampp\php\php.exe -q D:\xampp\htdocs\test.php
保存为test.bat,第一项为php.exe所在目录,第二项为需要执行的php文件路径


2、test.php文件写入:
<?php
file_put_contents('test.txt',date('Y-m-d H:i:s')." success!\r\n",FILE_APPEND);
?>
此仅为测试用,具体代码可自行编写(本例是只要执行test.bat,就调用test.php,往test.txt里面写入一段字符串)


3、设置系统计划任务,定时执行test.bat


end
原创粉丝点击