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