php如果执行一个死循环及后台自动执行
2016-01-30 00:42
477 查看
前几天接到一个项目,需要做一个后台自动刷阅读量和点赞的数量。
刚接触php没多久。但是知道,一个死循环是无法执行的。
百度了一会。主要用到一下几项技术。
sleep()函数;主要是让死循环得到休息,不至于崩溃。
set_time_limit(0);设置执行最长时间,0为无限制。
ignore_user_abort(true); 关闭浏览器,服务器也能自动执行。
我自己写的控制器方法太长了,这里我引用一段百度的代码作为例子。
执行过程中我还使用了两个函数。ob_flush();flush(); 两个函数须同时使用才会起作用,并且顺序也要这样。 这两个函数主要是把数据从缓存中释放出来。
按照以上步骤,基本上就能完成一个死循环的正常执行。
但是通过实测,发现php执行死循环并不理想。在执行过程中,如果想终止,我的做法是给他再传入一个判断值。但是执行的时候,有时候传不进去,浏览器一直处于卡死状态。这时候必须要重启服务器(Apache),才能终止。
而且不使用断线执行,终止死循环更为理想一些。不过,有时候也会出现无法终止的问题。
刚接触php没多久。但是知道,一个死循环是无法执行的。
百度了一会。主要用到一下几项技术。
sleep()函数;主要是让死循环得到休息,不至于崩溃。
set_time_limit(0);设置执行最长时间,0为无限制。
ignore_user_abort(true); 关闭浏览器,服务器也能自动执行。
我自己写的控制器方法太长了,这里我引用一段百度的代码作为例子。
<?php ignore_user_abort(TRUE); set_time_limit(0); while (1) { if(connection_aborted()) { break; } //其他逻辑操作 sleep(10); //单位为秒 } ?>
执行过程中我还使用了两个函数。ob_flush();flush(); 两个函数须同时使用才会起作用,并且顺序也要这样。 这两个函数主要是把数据从缓存中释放出来。
按照以上步骤,基本上就能完成一个死循环的正常执行。
但是通过实测,发现php执行死循环并不理想。在执行过程中,如果想终止,我的做法是给他再传入一个判断值。但是执行的时候,有时候传不进去,浏览器一直处于卡死状态。这时候必须要重启服务器(Apache),才能终止。
而且不使用断线执行,终止死循环更为理想一些。不过,有时候也会出现无法终止的问题。
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料