【问题标题】:Allowed memory size exhausted while using Yii datatables使用 Yii 数据表时允许的内存大小耗尽
【发布时间】:2018-03-26 10:24:29
【问题描述】:

我正在使用Yii Datatables 扩展名。

我的表只包含单行,当我尝试打开运行查询的页面时,它会因以下错误而中断:

Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes)

当表格中没有数据时,即当我截断表格时,页面工作正常,但是当我输入时,即使在记录时我也会遇到上述错误。

从上面的错误很明显这不是内存问题,因为它只尝试在 php 进程可用的 134217728 个字节中分配 16384 个字节。

这可能是什么原因?

【问题讨论】:

  • 是哪个日志?是php还是mysql的日志?
  • 没有为该请求生成 MySQL 日志。 Apache日志如下:child pid 10707 exit signal Segmentation fault (11), possible coredump in /etc/apache2
  • 不用扩展也一样吗?
  • 它尝试分配16384失败,因为内存限制已经耗尽,所以这确实是内存问题。

标签: php yii datatables yii-extensions


【解决方案1】:

你可以通过增加默认值来增加内存大小

max_allowed_pa​​cket = 30M -(这个值是你需要增加的)

在 db 配置文件的 my.ini 文件中。

您可以通过单击 xampp mysql config 按钮找到此文件(用于 xampp)。

如果这不能解决,请试试这个。

增加 php.ini 文件中的内存脚本量

;脚本可能消耗的最大内存量 (128MB) ; http://php.net/memory-limit

memory_limit=500M

【讨论】:

    【解决方案2】:

    把这个写在你的文件 php 的顶部,以升级内存限制

    $old = ini_set('memory_limit', '8192M'); 
    

    【讨论】:

      猜你喜欢
      • 2020-06-25
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2014-04-30
      相关资源
      最近更新 更多