解决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中删除变量时unset()和null的区别分析
Jan 27 PHP
PHP新手NOTICE错误常见解决方法
Dec 07 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
基于php split()函数的用法详解
Jun 05 PHP
PHP无限分类(树形类)
Sep 28 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
php中static和const关键字用法分析
Dec 07 PHP
PHP微信PC二维码登陆的实现思路
Jul 13 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
Laravel框架集合用法实例浅析
May 14 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
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
用matplotlib画等高线图详解
2017/12/14 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Python assert语句的简单使用示例
2019/07/28 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
计算机毕业生自荐信
2014/06/12 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
个人租房协议书范本
2014/09/30 职场文书
大客户经理岗位职责
2015/04/09 职场文书
甲午风云观后感
2015/06/02 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
高一军训感想
2015/08/07 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书