PHP定时执行任务

简介:

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服务器可以利用系统的计划任务实现

步骤:

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

 

O(∩_∩)O哈哈~ 大功告成!

相关文章
|
9月前
|
Linux API PHP
php定时将API中的数据每N分钟同步录入数据库的解决方案
php定时将API中的数据每N分钟同步录入数据库的解决方案
66 0
|
移动开发 前端开发 JavaScript
PHP定时更新数据库,定时器,定时任务详细讲解(通过前端触发)
PHP定时更新数据库,定时器,定时任务详细讲解(通过前端触发)
623 0
|
Shell Linux PHP
PHP定时执行计划任务
个人感觉PHP定时执行任务的效率不是很高,建议关于定时执行任务的工作还是交给shell来做吧,比较那才是王道
1592 0
|
移动开发 Linux PHP
PHP实现执行定时任务的几种思路详解
转:https://segmentfault.com/a/1190000002955509 PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。
2625 0
|
消息中间件 Java PHP
|
PHP
【PHP】定时计划没有执行PHP脚本以及解决方案
问题 cron 定时触发任务,但是始终没有执行,并且在/var/log/cron里也没有对应的日志产生,并且也在php-fpm的日志文件下也没有错误日志产生。 分析&&解决 cron没有执行? 并没有 : ( service crond status crond (pid 5467) is running.
856 0