解决File size limit exceeded 错误的方法


Posted in PHP onJune 14, 2013

昨日遇到一个问题,使用Yii框架编写php脚本,将db中100多万的数据导出,运行,成功。

但是在 运行到第 49万条时,脚本终止,提示错误“File size limit exceeded”,遂google之,原来是某个文件大小超过系统限制。笔者第一反应,日志文件写满了???赶忙查看 log,居然只有几十K !!! 那么这个 “大文件”在哪里呢?

开始分析,不可能是Yii框架的问题,此乃linux操作系统异常问题与框架无光,也不是 日志文件大小,仔细查看了所有设置的log路径下的文件,均小的可以忽略,即使是将Yii的debug关掉,也出现了相同的问题。

那么换个思路,重新运行脚本,再次运行脚本,发现 dead的时间很有规律,均是在45万条记录时挂掉,一条不多一条不少,开始怀疑与进程有关。决定查看脚本进程所影响到的io。

1、先获取脚本进程的 <pid>;

2、使用lsof命令查看此pid的io情况 : lsof -p <pid>

发现一个疑似文件 data0/xdebug/cachegrind.out.<pid>,随着脚本的执行,这个xdebug文件的大小也随之增大,最后,如愿,挂掉!此时文件大小为:2147483647!!

哈哈,好熟悉的数字,2^31 -1 !!

看来问题找到了,在脚本执行时,xdebug也随之对这个脚本进程进行写记录日志,当此文件大小超出 系统所能支持的文件大小时,如期挂掉。

ok, 将xdebug关掉,重跑脚本,一百多万的记录顺利跑完,搞定。

ps: 笔者所使用的服务器为32位系统,而在32位操作系统中,由于是二进制,其能最大存储的数据是1111111111111111111111111111111。

正因为此,体现在其他可视系统中的十进制就为2147483647。

PHP 相关文章推荐
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
php中根据变量的类型 选择echo或dump
Jul 05 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
PHP7新增函数
Mar 09 PHP
使用PHP计算两个路径的相对路径
Jun 14 #PHP
深入解析PHP的引用计数机制
Jun 14 #PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 #PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 #PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 #PHP
PHP操作Memcache实例介绍
Jun 14 #PHP
解析PHP处理换行符的问题 \r\n
Jun 13 #PHP
You might like
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
Ajax PHP简单入门教程代码
2008/04/25 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
PHP之预定义接口详解
2015/07/29 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
Python中的面向对象编程详解(上)
2015/04/13 Python
python字符串的常用操作方法小结
2016/05/21 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
建筑工程管理专业自荐信范文
2013/12/28 职场文书
关于旷工的检讨书
2014/02/02 职场文书
岗位竞聘书范文
2014/03/31 职场文书
程序员求职信
2014/04/16 职场文书
面试自我评价范文
2014/09/17 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
房贷收入证明范本
2015/06/12 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android