PHP:使用 php-fpm 时,什么时候应用 .user.ini 中的设置?
PHP: When are settings in .user.ini get applied when using php-fpm?
我在 RHEL8 系统上使用带有 php-fpm 的 Apache。 php-fpm 是从 remi repo 7.2 版开始安装的。
我在网络可访问的文件夹中添加了一个文件 .user.ini
以设置 memory_limit=256M
(/etc/php.ini 的默认值为 128M)。它似乎工作。但是我发现如果我更改它,该值 'not always' 似乎会立即应用。我通过重复调用输出 phpinfo();
的页面来检查这一点。有时值会改变,有时不会。
我猜它是 php-fpm 及其进程池(如果我理解正确的话)。新流程将具有新价值。旧值旧值。如果一个页面被调用,您永远不知道哪个进程实际响应了。
我认为重新加载 php-fmp (systemctl reload php-fpm.service
) 会重置这些进程并且每个进程都有更新后的值。
谁能解释一下它是如何工作的?关于 .user.ini
和 php-fpm,重要的是要知道什么?难道某些请求会永远使用旧值吗?
在链接的文档页面中,请参阅 user_ini.cache_ttl,它定义了 .user.ini 文件的 TTL(生存时间)。
- 大值对性能更好,因此对于生产
- 小值可有利于发展
默认值为 300,5' 看起来很长。
我在 RHEL8 系统上使用带有 php-fpm 的 Apache。 php-fpm 是从 remi repo 7.2 版开始安装的。
我在网络可访问的文件夹中添加了一个文件 .user.ini
以设置 memory_limit=256M
(/etc/php.ini 的默认值为 128M)。它似乎工作。但是我发现如果我更改它,该值 'not always' 似乎会立即应用。我通过重复调用输出 phpinfo();
的页面来检查这一点。有时值会改变,有时不会。
我猜它是 php-fpm 及其进程池(如果我理解正确的话)。新流程将具有新价值。旧值旧值。如果一个页面被调用,您永远不知道哪个进程实际响应了。
我认为重新加载 php-fmp (systemctl reload php-fpm.service
) 会重置这些进程并且每个进程都有更新后的值。
谁能解释一下它是如何工作的?关于 .user.ini
和 php-fpm,重要的是要知道什么?难道某些请求会永远使用旧值吗?
在链接的文档页面中,请参阅 user_ini.cache_ttl,它定义了 .user.ini 文件的 TTL(生存时间)。
- 大值对性能更好,因此对于生产
- 小值可有利于发展
默认值为 300,5' 看起来很长。