本文目录一览:
linux如何创建PHP定时任务
首先创建一个PHP文件:示例内容如下:
<?php
$ch = curl_init();
// 设置请求
curl_setopt($ch, CURLOPT_URL, "写上要请求的URL");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
curl_close($ch);
echo date("Y-m-d H:i:s", time()) . "_" . $output . "\r\n";
然后给文件可执行权限:
chmod +x demo.php
然后修改定时任务执行的文件:使用命令行 crontab -e
打开定时任务文件,加入:
30 17 * * * /usr/bin/php -f /home/task/crontab.php /home/task/task.log
解释一下时间的概念,比如像上面这就相当于每天的17:30分执行任务。完成以上就可以开启计划任务了,使用命令行:
service cron start
以上就可以开启这个PHP定时任务了,同时会将 echo
的返回值写入到 task.log
文件中。
PHP实现定时任务的几种方式
一. 简单
<?php
ignore_user_abort(); // 关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去
ini_set('memory_limit', '512M'); // 设置内存限制
$interval = 60 * 30; // 每隔半小时运行
do {
// ToDo
sleep($interval); // 等待5分钟
} while (true);
二. 简单 可控型
config.php
<?php
return 1;
cron.php
<?php
ignore_user_abort(); // 关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去
$interval = 60 * 30; // 每隔半小时运行
do {
$run = include 'config.php';
if (!$run) die('process abort');
// ToDo
sleep($interval); // 等待5分钟
} while (true);
三. 简单 改进型
<?php
$time = 15;
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
/*
function
*/
sleep($time);
file_get_contents($url);
php定时执行任务怎么写?
定时任务最好的方法是用linux系统的加护任务来写,你是虚拟主机那无法用这个法子,你可以写前台访问触发的法子,把代码写到页面,判断时间段如果是在设置的时间段就执行。
thinkphp6定时任务,php定时器EasyTask
本教程使用的定时任务基于EasyTak,EasyTask官方文档:
- 安装tp6
- 安装定时任务composer包
- 创建命令行处理类文件
会生成文件:tp\app\command\Task.php
将Task.php
文件内容修改如下: - 配置
tp\config\console.php
文件 - 执行命令(Windows请使用cmd):
php怎么做定时任务的,感谢大牛指点
写一个你需要的php业务的脚本,然后在服务器上,设置定时任务,执行这个脚本,就行了