解决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 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
php实现MySQL数据库备份与还原类实例
Dec 09 PHP
Yii学习总结之安装配置
Feb 22 PHP
PHP静态成员变量
Feb 14 PHP
PHP自定义错误处理的方法分析
Dec 19 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
PHP数组访问常用方法解析
Sep 05 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
PHP的历史和优缺点
2006/10/09 PHP
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
Python装饰器的函数式编程详解
2015/02/27 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
Python的互斥锁与信号量详解
2019/09/12 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
Python netmiko模块的使用
2020/02/14 Python
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
酒店保安员岗位职责
2014/01/31 职场文书
高一学生评语大全
2014/04/25 职场文书
消防工作实施方案
2014/06/09 职场文书
跑操口号
2014/06/12 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
感恩的心主题班会
2015/08/12 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python
Python基础 括号()[]{}的详解
2021/11/07 Python