对于 PHP memory_limit来说,越多越好吗?[已关闭]

2022-08-30 16:07:37

在PHP中,我经常面临内存限制问题。特别是对于高度资源集成的系统,如Drupal等。

我想知道的是:

  • 像2GB这样有非常高的php内存限制是好的吗?
  • 有什么大缺点吗?

编辑:

作为一个场景,例如在Drupal中,当我们通过Web面板(不是通过Drush或任何脚本)清除缓存时,它需要如此多的内存。因此,即使仅针对这种情况,我目前也绝对需要512MB左右的高限制。


答案 1

黄金法则:只给PHP需要工作的东西,仅此而已。

这将防止您的系统不必要地阻塞PHP进程的情况,并且还可以帮助您找到错误(占用1GB内存的脚本是不寻常的,并且给出2GB的内存限制将隐藏这一点)。


对于特殊情况,如果您知道单个脚本文件内存非常繁重,则可以使用 ini_set() 在运行时更改内存限制指令。看到这个这个


答案 2

不,越多不是越好。它是单个脚本允许使用的内存量。如果您的服务器包含4GB的内存,则只有两个脚本同时可以占用所有内存。

通常,PHP 脚本应该使用很少的内存。通常,脚本保留的所有内存都会在终止时释放,但您可以通过显式标记执行期间不再需要的变量来清理内存。这样,您就可以使脚本更节省内存。unset


推荐