首页 > 代码库 > 使用框架的php如果使用定时服务Cronjob
使用框架的php如果使用定时服务Cronjob
工作需要用php开发了个监控的小程序,既然是监控就需要定时执行。
之前我用的是chrome加个定时刷新的小插件,放在服务器上运行,也能实现,就是别扭。
通用正规的做法应该是:linux上的Cron和windows上的计划任务。使用php.exe执行脚本,win中还要多写个bat文件,很多文章中有提及。
个人不习惯用ignore_user_abort(true)
但存在一个问题,就是执行的php文件只能是简单的脚本,不能使用框架,因为框架的相对目录路径导致运行出错。既然是监控程序,肯定要用到数据库,而且还是习惯MVC,不用框架毕竟麻烦些!
怎么解决?
曲线一下,通过httpclient向服务器发请求的方式实现。
首先建立个cron.php文件
<?php require_once (__DIR__ . '/yq/Lib/ORG/HttpClient.class.php'); //我用的是thinkphp $client = new HttpClient ( "192.168.120.12", 8011 ); $url = '/yuqing'; //这里是要刷新的地址 $res = $client->get ( $url ); if ($res) { $content = $client->getContent (); } ?>
然后建立批处理文件
@echo off echo "舆情监控系统采集中.." "F:\xampp\php\php.exe" -f "F:\xampp\htdocs\yuqing\cron.php"
这样就可以既使用框架,又能够定时运行了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。