关于php定时任务(windows系统中.bat应用及注意事项)

最近在忙一个财务模块编写,由于业务数据量偏大,导致页面查询速度巨慢无比,难以忍受。在这种环境下,本人想给"用户订单数据表"做下批处理,来减轻数据库多表联查的压力。在此过程中,遇到各种大坑,特意写出来供大家参考!
1.公司服务器


关于php定时任务(windows系统中.bat应用及注意事项)_第1张图片
image.png

2.建立batch.bat文件和batch.php文件 (文件名任意取,后缀名保持一致即可)


关于php定时任务(windows系统中.bat应用及注意事项)_第2张图片
image.png

3.首先打开Windows Server 2008系统的“开始”菜单,从中依次点选“所有程序”/“附件”/“系统工具”/“任务计划程序”命令。
4.依次点击(任务计划程序库->创建任务->填写名称和任务)
关于php定时任务(windows系统中.bat应用及注意事项)_第3张图片
image.png

5.点击(触发器)选项卡->每天定时任务(根据自己的业务需求自己进行调整)


关于php定时任务(windows系统中.bat应用及注意事项)_第4张图片
image.png

6.点击(操作)选项卡->在浏览中找到刚刚建立的batch.bat执行脚本双击
关于php定时任务(windows系统中.bat应用及注意事项)_第5张图片
image.png

7.批处理已经加入到计划任务
关于php定时任务(windows系统中.bat应用及注意事项)_第6张图片
image.png

基本操作流程中遇到大坑
注意事项:
(1)batch.bat文件踩坑


关于php定时任务(windows系统中.bat应用及注意事项)_第7张图片
image.png

(2)php.exe应用踩坑
在执行batch.bat的时候,一直没有执行成功,后来没有思路了,尝试用CMD命令行来执行程序测试下,结果意外发现!哈哈!原来系统缺少MSVCR110.dll动态库


关于php定时任务(windows系统中.bat应用及注意事项)_第8张图片
image.png

开始网上找解决方案,尝试了网上大多教程无果,苦逼到家了!想哭的心都有
关于php定时任务(windows系统中.bat应用及注意事项)_第9张图片
image.png

就在此时灵机一动,从网上找的教程各种安装插件不好用,那既然系统缺什么,是不是我就给他补什么动态库就好了!自己笔记本windows7 64位在本地测试可以成功实现,说明安装过msvcr110.dll这个动态库,用cmd命令行测试php.exe时候可用,然后找到该系统下的动态库msvcr110.dll,复制到公司系统相应位置,居然好用了!(注意:网上下载的msvcr110.dll亲测,无效,原因不知道为什么)

msvcr110.dll动态库分为32位64位,根据自己系统来决定,所以本人在写这篇文章的时候就把系统图贴出来!供大家参考!
32位系统msvcr110.dll所在目录:C:\Windows\System32
64位系统msvcr110.dll所在目录:C:\Windows\SysWOW64


关于php定时任务(windows系统中.bat应用及注意事项)_第10张图片
image.png

(3)php文件踩坑
一开始想把运行记录在.txt文件中,便于查看运行记录,不知道系统没有给写文件权限原因,始终无法利用windows定时任务来创建.txt文件(直接双击batch.bat脚本可以实现batch.php创建.txt文件,但是加到定时任务就不能创建.txt文件)。
这里,我连接mysql数据库,来记录运行情况
batch.php部分代码


关于php定时任务(windows系统中.bat应用及注意事项)_第11张图片
image.png

你可能感兴趣的:(关于php定时任务(windows系统中.bat应用及注意事项))