PHP - 无法在php-fpm上更改memory_limit

时间:2018-05-30 10:09:26

标签: php

这看起来似乎是一个愚蠢的问题,但我已经尝试了一小时才能弄清楚它是否成功。

如标题所述,我实际上无法在PHP 7.1.15中更改memory_limit指令,但仅在php-fpm 中更改。事实上,如果我在终端中执行php -i | grep memory_limit,我可以看到正确的值memory_limit => -1 => -1

到目前为止我尝试了什么:

  • 在php.ini中设置memory_limit
  • 直接在PHP脚本中使用ini_set('memory_limit', -1);

我还尝试禁用所有已加载的扩展名,因为我认为其中一个可能会覆盖该设置,但无效。

还要考虑编辑的php.ini文件是正确的,因为我能够毫无问题地更改max_execution_time

那么代码如何

ini_set('memory_limit', -1);
echo ini_get('memory_limit');
exit;

可以返回128M作为输出吗?

2 个答案:

答案 0 :(得分:3)

要更改PHP-FPM的内存限制,请将以下行添加到php-fpm.conf文件中:

php_admin_value[memory_limit] = -1

答案 1 :(得分:0)

这FPM-配置

ForkJoinPool

您必须选择更适合您的解决方案。我喜欢设置全局配置较低的内存限制,在有些地方(WO我不能更好地重写)我加; php_value/php_flag - you can set classic ini defines which can ; be overwritten from PHP call 'ini_set'. ; php_admin_value/php_admin_flag - these directives won't be overwritten by ; PHP call 'ini_set'