作者: default|标签:PHP set_time_limit 执行时间|2017-3-21 15:03
set_time_limit 不生效或者无效解决方法
<?php
global $begin;
global $end;
$begin = microtime(TRUE);
try {
$dsn = "mysql:host=localhost;dbname=kaixin";
$db = new PDO($dsn, 'root', '111');
$db->exec("set names 'utf8'");//默认编码
$db->setAttribute(PDO_ATTR_ERRMODE, PDO_ERRMODE_EXCEPTION);
for($i=1; $i<5000; $i++){
$sql = "insert into `article` (`title`, `content`, `time`, `author`, `ip`) value ('文章标题".$i."', '内容".$i."',
'1227237892','kaixin','127.0.0.1')";
$db->exec($sql);
}
$end = microtime(TRUE);
// by bbs.it-home.org
$time = $end-$begin;
echo "执行了".$time."s";
} catch (Exception $e) {
echo "Failed: " . $e->getMessage();
}
?>

 

执行这段代码,只能插入大概1000条左右的数据,这样页面就不执行了。 测试页面的执行时间大概都是29秒左右,也就是页面的最大执行时间 是30秒。

知道set_time_limit函数,可以设置页面执行时间。

set_time_limit函数用法如下:

本函式用来设定该页最久执行时间。内定值是 30 秒,在 php.ini 中的 max_execution_time 变数设定,若设定为 0 则不限定最久时间。当执行到该函数时,才开

始计算。例如,若内定是 30 秒,而在执行到该函数前已执行了 25 秒,而用本函式改为 20 秒,则该页面最长执行时间为 45 秒。

把这个set_time_limit函数加到了程序里,

发现页面执行时间还是29秒左右,没有起作用。

看到网上有人说,php.ini里的safe_mode如果为on,本函数不执行。查了我的php.in里的safe_mode=off。

试着把set_time_limit(0);加入到for循环里。

<?php
...
for($i=1; $i<5000; $i++){
set_time_limit(0);
$sql = "insert into `article` (`title`, `content`, `time`, `author`, `ip`) value ('文章标题".$i."', '内容".$i."',
<?php
set_time_limit(0);
global $begin;
global $end;
$begin = microtime(TRUE);
...
?>
'1227237892','kaixin','127.0.0.1')";
$db->exec($sql);
}
...
?>

 

也没有起作用。最后在网上查到,有人说,“set_time_limit函数最好是在linux下执行,windows执行可能也无效”。彻底对这个函数失去信心 了,估计是因为我是windows系统的原因。

只能修改php.ini里的max_execution_time = 30了。这个默认是30秒,我修改为max_execution_time = 300.重新启动apache服务器。 结果执行时间为140秒左右,5000条数据终于插入了。 看来,windows下这个页面执行时间还是在php.ini里控制,修改max_execution_time。 如果用PDO往MYSQL里面插入数据的话。插入五千条大概140多秒时间,插入1万条大概260多秒时间。

以上就是php页面最大执行时间 set_time_limit函数不起作用 的内容,更多相关内容请关注PHP中文网

php页面最大执行时间 set_time_limit函数不起作用相关推荐

  1. php获取下载地址,php获取当前页面完整URL地址函数

    php获取当前页面完整URL地址函数,希望对你们有所帮助,代码如下: /** * 获取当前页面完整URL地址 */ function get_url() { $sys_protocal = isset ...

  2. Magento: 产品页面下jquery change函数失效 Call javascript function onchange product option

    明显的原因是change函数跟magento默认的onchange函数冲突. 一个方法是编辑 /js/varien/configurable.js  文件 : Place call to your f ...

  3. Appium 屏幕页面滑动(swipe函数实现)

    Appium 屏幕页面滑动(swipe函数实现) 一.简介 在Appium中进行屏幕页面的滑动操作,我们可以使用其提供的swipe函数来实现,使用此函数,我们只需要提供起始(x,y)坐标值和滑动结束的 ...

  4. 4.5 银行间拆借利率爬取(switch_to.frame()函数切换到子网页,浏览器同级页面切换--switch.window()函数)

    银行间的资金流转数额通常非常大,某个银行在遇到资金流转问题时通常会向同业进行拆借,以弥补资金缺口,通常短时间内就会还清.还钱除了还本付息,而用于计算利息的利率,国内最常用的是上海银行间同业拆放利率(S ...

  5. 微信小程序学习6:页面生命周期回调函数

    微信小程序学习6:页面生命周期回调函数 文章目录 微信小程序学习6:页面生命周期回调函数 1 生命周期图像 2 生命周期回调函数触发条件 onLoad(Object query) onShow() o ...

  6. php curl_init不能用,curl_init()函数不起作用

    curl_init()函数不起作用 嗨,我在POST请求中尝试PHP Post Request,认为它可能对我有用,我的代码如下所示$sub_req_url = "http://localh ...

  7. matlab vec2ind,MATLAB函数ind2vec的作用

    MATLAB函数ind2vec的作用 mip版  关注:143  答案:3  悬赏:10 解决时间 2021-01-25 07:24 已解决 2021-01-24 21:30 >> p=[ ...

  8. php rewind函数,函数rewind的作用是什么

    函数rewind的作用是:使文件位置指针重新返回文件的开始位置.函数rewind的功能是将文件指针重新指向一个流的开头,基本语法:"void rewind(FILE * stream)&qu ...

  9. 在python中get是什么意思_python get函数有什么作用?示例解析

    这篇文章之中我们来了解一下关于python字典之中的pythonget函数的相关知识,get函数是什么意思,他有什么作用都将会在接下来的文章之中得到解答. 描述 Python 字典(Dictionar ...

最新文章

  1. Eclipse 快捷键(转载)
  2. linux 关闭网络防火墙设置方法,CentOS Linux防火墙配置及关闭方法
  3. 利用SAP Cloud Platform control center给global账号分配服务
  4. Spring学习11-Spring管理各种数据源
  5. Highlighting System
  6. U盘版便携式Linux制作, casper-rw 解析
  7. Activity的缓存方法
  8. linux如何判断网线插入_“Linux”中如何判断哪个网卡连接网线?
  9. android gridview 按钮事件处理,Android TV gridview 的按键事件响应巧变 事件分发机制...
  10. 能让IT部门告别996的办公神器,你一定要知道
  11. 如何计算像素当量_「轴承知识」如何通过静承载能力选择轴承
  12. 机器学习与医学应用基础(超星尔雅学习通)--答案
  13. 外贸常见的付款方式你了解吗?
  14. PPT 宏 macro图片crop
  15. bootstrap菜单html,Bootstrap实现下拉菜单效果
  16. 微机原理-80386(2)
  17. 吸人大法!最吸引人气的网吧LOL活动策划方案,此秘籍值得收藏!
  18. 世界读书日:18本豆瓣评分9.0以上的IT书值得收藏
  19. 教培机构如何深耕种子用户从0到1-线上线下教学的有效融合
  20. 易语言超文本ctrl c,易语言超文本浏览框和程序交互源码

热门文章

  1. 小冰负责人李笛:微软不缺钱,缺对未来的把握
  2. 人大附中高中生学Python获数据挖掘竞赛一等奖,将去旷视科技实习
  3. 必读 | 在转行AI之前,先了解下2018年人工智能发展的八大趋势
  4. 从MySQL 5.6升级到8.0,Facebook付出了惨痛代价……
  5. SpringCloud确保服务只能通过gateway转发访问,禁止直接调用接口访问
  6. 127.0.0.1和0.0.0.0地址的区别
  7. 线上服务 CPU 又 100% 啦?一键定位 so easy!
  8. 工作中 99% 能用到的 Git 命令
  9. 除了不要 SELECT * ,数据库还有哪些技巧
  10. 10年,4600万台!树莓派,生日快乐