我们有一个网站,以前的内存限制为12 MB(在php.ini中12 MB,在settings.php中为16 MB)并且以前有效。
移动到新服务器后,它开始给内存限制错误,并显示半空白屏幕。
我们增加了两个文件(php.ini和settings.php)的限制,现在它的工作原理,但我不明白如何可能,现在它需要相当大的内存量(它曾经与12 MB的工作,现在它续小于20 MB)。
我假设你在这个过程中没有改变操作系统。 从Windows迁移到Linux或反过来很可能会改变资源使用情况。
这是一个很长的一步,但也许你从一个32位系统移动到一个64位? 这会稍微增加内存使用量,因为地址(指针)在64位体系结构上是两倍大的,并且有许多小对象的代码使用了大量的指针。
总的来说,我们不能在没有看到系统有什么变化的情况下告诉你很多。
12太低,如果你不只使用Drupal的话。 更高的建议,比你会安装更多的模块,通常96MB是足够的图像处理…
12 MB真的很低。 我会倾向于忽视它,继续下去。
想法可能会改变,但:
旧的服务器可能已经安装了模块,减少了内存使用,例如memcache
新的服务器可能不得不依靠GD
库进行图像处理,而旧的服务器可能有ImageMagick
(这是一个外部工具,不计入内存限制)