日期:2014-05-17  浏览次数:20371 次

thinkphp框架中系统内存溢出
数据量过大的页面就报错:Fatal error: Out of memory (allocated 1781792768) (tried to allocate 42 bytes) in C:\workspace\gshm_hrp\ThinkPHP\Lib\Think\Db\Driver\DbMysql.class.php on line 243


我修改了php.ini里面的配置:如下
max_execution_time = 0     ; Maximum execution time of each script, in seconds
max_input_time = 300 ; Maximum amount of time each script may spend parsing request data
memory_limit = 2048M      ; Maximum amount of memory a script may consume (8MB)

请大神看看。
php thinkphp 内存溢出

------解决方案--------------------
一个 php 进程就允许使用 2G 内存?
要是多个人同时访问呢?
事实证明,你的程序启动时,只获得了 1699.25M 的最大可用内存空间。你的系统已经太繁忙了

我不知道你都做了什么,但显然是做了不合常理的事情
浏览器一屏也就能显示4、5十行,你一下准备那么多数据怎么放得下?

建议你调整你的算法,能分段处理的就分段处理,能交给数据库处理的就不要由 php 处理