解决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 相关文章推荐
PHP 高手之路(一)
Oct 09 PHP
php判断字符以及字符串的包含方法属性
Aug 30 PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
PHP表单数据写入MySQL数据库的代码
May 31 PHP
php自定义时间转换函数示例
Dec 07 PHP
php上传excel表格并获取数据
Apr 27 PHP
PHP 断点续传实例详解
Nov 11 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 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
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php数组分页实现方法
2016/04/30 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
JQuery toggle使用分析
2009/11/16 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
详解javascript 正则表达式之分组与前瞻匹配
2018/05/30 Javascript
详解React中setState回调函数
2018/06/14 Javascript
js实现批量删除功能
2020/08/27 Javascript
浅谈Python中的闭包
2015/07/08 Python
Python自定义主从分布式架构实例分析
2016/09/19 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python装饰器简单用法实例小结
2018/12/03 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python 画函数曲线示例
2019/12/04 Python
python 实现dict转json并保存文件
2019/12/05 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
手机业务员岗位职责
2013/12/13 职场文书
一年级学生评语
2014/04/23 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
党员承诺书范文2015
2015/04/27 职场文书
大学生实习介绍信
2015/05/05 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书