我正在向 Drupal 站点添加模块,并且遇到可怕的致命内存错误。我去清除accesslog
、cache
和watchdog
表,但仍然收到此类错误。我只在这个站点上运行一个数据库,它是供 Drupal 使用的,但我想知道我可以释放哪些其他表。我确信 phpMyAdmin 中列出的无数表对 Drupal 来说比其他表更重要。我可以用“开销”一味地清除所有表格吗?或者这会是一个主要的失礼吗?
任何洞察力都是最出色的。
我正在向 Drupal 站点添加模块,并且遇到可怕的致命内存错误。我去清除accesslog
、cache
和watchdog
表,但仍然收到此类错误。我只在这个站点上运行一个数据库,它是供 Drupal 使用的,但我想知道我可以释放哪些其他表。我确信 phpMyAdmin 中列出的无数表对 Drupal 来说比其他表更重要。我可以用“开销”一味地清除所有表格吗?或者这会是一个主要的失礼吗?
任何洞察力都是最出色的。
要添加到 Berdir 的答案,ac) 将是分析内存使用情况并找出正在消耗内存的内容,以及是否有办法优化或缓存它的输出。
安装 devel 并打开性能日志,它会告诉你哪些查询和模块占用了最多的内存。您还可以使用 xdebug 和 cachegrind 实用程序来深入诊断此问题,但设置需要一段时间。
如果你截断数据库表,当更多的东西填满这些表时,问题就会再次出现。
不过,最好的办法就是增加您的 PHP 内存限制。
不,你不能简单地清除一些表。无论如何,它对内存不足的错误也没有任何帮助。
实际上只有两种方法可以解决内存错误。a) 增加内存限制,64MB 应该是最小的,模块很多,甚至可能需要更多。b) 禁用某些模块。