我正在向Drupal站点添加模块,并且我遇到了可怕的致命内存错误。我开始清除accesslog
,cache
和watchdog
表,但仍然遇到此类错误。我只在这个网站上运行一个数据库,这是为Drupal使用,但我想知道我可以释放的其他表格。我确信phpMyAdmin中列出的一些无数表对Drupal比其他表更重要。我可以盲目地清除所有带有“开销”的桌子,还是会成为一个重大的失礼?
任何见解都会非常出色。
答案 0 :(得分:2)
不,你不能简单地清除一些表格。无论如何,它对内存不足的错误也毫无帮助。
实际上只有两种方法可以解决内存不足错误。 a)增加内存限制,64MB应该是最小的,有许多模块,甚至可能需要更多。和b)禁用一些模块。
答案 1 :(得分:2)
要添加Berdir的答案,c)将分析内存使用情况并找出正在吃的内存,以及是否有办法优化或缓存它的输出。
安装devel并启用性能日志记录,它会告诉您哪些查询和模块占用的内存最多。您还可以使用xdebug和cachegrind实用程序进行深入诊断,但设置需要一段时间。
如果截断数据库表,当更多东西填满这些表时,问题就会回来。
最好的办法就是增加你的PHP内存限制。