实践操作如下:
1) 工具:PuTTY.exe
2) 服务器环境:Ubuntu Linux系统 + ThinkPHP 3.1.3 + php5.6 + MySql
3) 首先,编写计划任务的相关代码,访问路径:
http://www.xxx.com/index.php/sdk/TimeTask/index
4) 然后,在项目根目录下创建cron.php,代码如下
<?php
$url = 'http://www.xxx.com/index.php/sdk/TimeTask/index';
$timeout = 60;
$data = array();
$header = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
$response = curl_exec($ch);
if($error=curl_error($ch)){
die($error);
}
curl_close($ch);
echo $response;
5) 其次,通过putty连接登录服务器开发环境:
6) crontab 命令
crontab -l //查看定时任务列表
crontab -e //编辑定时任务
如图,底部绿色即为定时计划任务的设置命令
0 3 * * * php /home/data/xxx.com/cron.php //即每天凌晨3点整执行cron.php文件
其他参考文章:
http://man.linuxde.net/crontab
https://segmentfault.com/q/1010000004988969
http://doc.okbase.net/164418960/archive/120938.html
https://www.cnblogs.com/hzdx/p/6220801.html