解决文件大小限制超过错误的方法

昨天遇到的是一个问题,使用Yii框架来编写PHP脚本出口约1000000的数据库中的数据,运行成功。

然而,当运行到第四十九个脚本时,脚本终止,提示超出了错误的文件大小限制,然后是谷歌,结果发现文件大小超过了系统限制。看看木头,它只有几十个K!!!这个大文件在哪里

开始分析,不能对异常问题及Linux操作系统的框架没有光问题的Yii框架,也没有日志文件大小,仔细检查日志路径下的所有设置的文件,很小,可以忽略不计,甚至一调试过的,也出现在同样的问题。

以另一种方式思考,重新运行脚本并再次运行脚本。发现死亡时间非常规律。它被挂在45万张唱片里。不多了。决定查看受脚本进程影响的IO。

1。首先获得脚本进程;

2、使用lsof命令查看此PID IO情况:lsof -P

一个可疑文件DATA0 / / cachegrind.out Xdebug。被发现。随着脚本的执行,Xdebug文件的大小也增加。最后,挂断电话!此时文件大小是:2147483647!

哈哈,一个好的数字,2 - 31 - 1!

看来问题已经找到了。执行脚本时,Xdebug还写日志日志,这个脚本的过程。当文件的大小超过系统支持的文件时,它将按计划挂起。

好吧,关掉Xdebug,运行脚本,约一百万的记录运行顺利,做。

PS:作者所使用的服务器是32位的系统,并在32位操作系统,因为它是二进制的,可以存储的最大数据1111111111111111111111111111111。

正因为如此,其他视觉系统中的十进制系统是2147483647。