thinkphp框架中系统内存溢出

a648841831 2013-07-22 04:06:26
数据量过大的页面就报错: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)

请大神看看。
...全文
463 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a648841831 2013-07-23
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
事务处理当然是有的,但由页面一个按钮触发 rollback 是不可能的
那有什么好的方法来完成这个操作吗?
xuzuning 2013-07-23
  • 打赏
  • 举报
回复
事务处理当然是有的,但由页面一个按钮触发 rollback 是不可能的
a648841831 2013-07-23
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
一个 php 进程就允许使用 2G 内存? 要是多个人同时访问呢? 事实证明,你的程序启动时,只获得了 1699.25M 的最大可用内存空间。你的系统已经太繁忙了 我不知道你都做了什么,但显然是做了不合常理的事情 浏览器一屏也就能显示4、5十行,你一下准备那么多数据怎么放得下? 建议你调整你的算法,能分段处理的就分段处理,能交给数据库处理的就不要由 php 处理
版主在请教一个问题,有没有函数作用是终止当前的数据库操作然后回滚的。就是页面一个按钮触发,直接终止当前数据库操作的。rollback();可以做到吗,如果可以怎么去调用呢
a648841831 2013-07-22
  • 打赏
  • 举报
回复
嗯嗯,只能是这样了。
xuzuning 2013-07-22
  • 打赏
  • 举报
回复
一个 php 进程就允许使用 2G 内存? 要是多个人同时访问呢? 事实证明,你的程序启动时,只获得了 1699.25M 的最大可用内存空间。你的系统已经太繁忙了 我不知道你都做了什么,但显然是做了不合常理的事情 浏览器一屏也就能显示4、5十行,你一下准备那么多数据怎么放得下? 建议你调整你的算法,能分段处理的就分段处理,能交给数据库处理的就不要由 php 处理

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧