解决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中常用字符串处理代码片段整理
Nov 07 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
浅谈PHP的反射机制
Dec 15 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
php多进程应用场景实例详解
Jul 22 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 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实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
PHP错误提示的关闭方法详解
2013/06/23 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
js 无提示关闭浏览器页面的代码
2010/03/09 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Sanic框架流式传输操作示例
2018/07/18 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
Python读取yaml文件的详细教程
2020/07/21 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
eBay德国站:eBay.de
2017/09/14 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
房地产财务管理制度
2014/02/02 职场文书
小学安全教育材料
2014/02/17 职场文书
事业单位鉴定材料
2014/05/25 职场文书
代收款委托书范本
2014/10/01 职场文书
校园广播稿100字
2014/10/06 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
董事长助理岗位职责
2015/02/11 职场文书
工作感言一句话
2015/08/01 职场文书
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python