信创网站,福州网站推广公司,网页棋牌开发,淮安网站建设方案我们在之前的文章中给大家介绍了php计划任务的实现原理#xff0c;相信对此小伙伴们都理解了php计划任务的原理#xff0c;那么我们今天继续给大家介绍一下php如何实现定时执行计划任务#xff01;一、windows计划任务1、写一个PHP程序#xff0c;命名为test.php#xff0…我们在之前的文章中给大家介绍了php计划任务的实现原理相信对此小伙伴们都理解了php计划任务的原理那么我们今天继续给大家介绍一下php如何实现定时执行计划任务一、windows计划任务1、写一个PHP程序命名为test.php内容如下所示$fp fopen(test.txt, a);fwrite($fp, date(Y-m-d H:i:s) . 成功成功了\n);fclose($fp);?程序大胆地写什么include\require尽管用都没问题2、新建Bat文件命名为test.bat,内容如下所示D:\php\php.exe -q D:\website\test.php3、建立WINDOWS计划任务开始–控制面板–任务计划–添加任务计划浏览文件夹选择上面的bat文件设置时间和密码(登陆WINDOWS的)保存即可了。4、over! 可以右键计划任务点“运行”试试二、linux 的脚本实现一、在Crontab中使用PHP执行脚本就像在Crontab中调用普通的shell脚本一样(具体Crontab用法)使用PHP程序来调用PHP脚本。每一小时执行myscript.php如下# crontab -e00 * * * * /usr/local/bin/php /home/john/myscript.php/usr/local/bin/php为PHP程序的路径。二、在Crontab中使用URL执行脚本如果你的PHP脚本可以通过URL触发你可以使用lynx或curl或wget来配置你的Crontab。下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是像下面的我在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。00 * * * * lynx -dump http://www.centos.bz/myscript.php下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项你也可以把脚本的输出转储到临时文件。*/5 * * * * /usr/bin/curl -o temp.txt http://www.centos.bz/myscript.php下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.centos.bz/myscript.php三、PHP实现定时执行计划任务使用php让浏览器刷新需要解决几个问题1、PHP脚本执行时间限制默认的是30m 解决办法set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐)2、如果客户端浏览器关闭程序可能就被迫终止解决办法ignore_user_abort即使关闭页面依然正常执行3、如果程序一直执行很有可能会消耗大量的资源解决办法使用sleep使用程序休眠一会然后在执行PHP定时执行的代码ignore_user_abort();//关掉浏览器PHP脚本也可以继续执行.set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的执行下去$interval5;// 每隔5s运行//方法1--死循环do{echo 测试.time().;sleep($interval);// 等待5s}while(true);//方法2---sleep 定时执行require_once ./curlClass.php;//引入文件$curl new httpCurl();//实例化$stime $curl-getmicrotime();for($i0;$i10;$i){echo 测试.time().;sleep($interval);// 等待5s}ob_flush();flush();$etime $curl-getmicrotime();echo ;echo round(($etime-stime),4);//程序执行时间测试的时候发现这个效率并不是很高总结本文通过windows计划任务、Linux的脚本实现以及php执行定时计划任务的实例让小伙伴么更为直接的了解php定时执行计划任务希望对你有所帮助相关推荐