实现思路例如以下:
通过win的“任务”功能来定时运行一个bat文件,bat文件会调用php.exe文件,php.exe能够传递參数指定运行哪个类和方法
方法例如以下:
一。thinkphp开启cli支持
1、tp正好支持cli命令模式,手冊的路径为13.7.4
假设是用的其它框架不支持cli。那么仅仅能直接敲代码了。事实上就是写面向过程的最基础的php代码。
2、在入口文件下开启命令。增加一句
define('MODE_NAME', 'cli');
站点一般还有能够通过网页訪问的模块。所以能够新建立一个cli的入口如index_cli.php,这样其它的模块还能够通过正常的入口进入。有的手冊上写的開始cli定义的是define('THINK_MODE ', 'cli'); ,可能是版本号不同,注意这点。
二、新建立bat文件
新建立一个txt文件。里面写上例如以下三行内容:
d:
cd D:\workspace\dzx2
php.exe D:\workspace\dzx2\index_cli.php Sms/sendjob>c:\smslog.txt
意思以此是:当前文件夹移动到d盘,当前文件夹移动到D:\workspace\dzx2文件夹下(我的项目入口文件),通过绝对路径的php.exe 空格输入绝对的项目cli入口文件,后面空格+參数(我已经把php.exe加入到了系统的环境变量的path变量中。所以仅仅写了php.exe)
简单就是:当前文件夹移动到项目入口文件。绝对路径的php.exe+绝对路径的项目入口文件+參数
吧txt文件改为bat后缀的可运行文件,单击測试是否把运行了方法
(能够在bat文件最后写个Pause,来看看是否报错,或直接写入“>c:\smslog.txt ”吧输出的内容导入到一个txt文件,执行后查看该文件就知道报错与否或报哪些错误)
三、新建任务
win下是 控制面板——》管理程序——》任务计划程序
右击 任务计划程序库 -》新建任务
执行的账户一定要有权限
触发器-》新建 选择频率次数等功能
操作-》新建 选 启动程序 在以下找到自己写的bat文件
其它的能够自己看看
建立任务后,点程序执行一下,看看执行的时间和结果还有自己程序所做的事做了没有。
有错的话注意的是包括所选用户权限、各个路径是否正确、程序是否正确
所以一般做是首先。保证通过url地址訪问程序执行ok。然后,是单击bat文件程序执行ok,再然后是任务计划执行ok 。
其他參考文章: