PHP如何增加session.gc_maxlifetime?更改 php.ini 不起作用

Posted

技术标签:

【中文标题】PHP如何增加session.gc_maxlifetime?更改 php.ini 不起作用【英文标题】:PHP how to increase session.gc_maxlifetime? changing php.ini doesn't work 【发布时间】:2019-11-28 06:44:45 【问题描述】:

在 Ubuntu 18.04 上的 Apache 中运行 php7。我想将默认的 session.gc_maxlifetime 从 1440 秒增加到 86400(一天)。

phpinfo() 显示正在加载的 php.ini 文件为:/etc/php/7.0/apache2/php.ini

我编辑这个文件,改变这一行:

session.gc_maxlifetime = 1440 从 1440 到 86400。

这是 php.ini 文件中唯一出现的gc_maxlifetime

然后我重新启动 Apache,并再次检查 phpinfo()

session.gc_maxlifetime 还是 1440 ????

有没有办法准确地找出 PHP 是如何或从何处获取其 gc_maxlifetime 设置的?或者我如何永久地、全局地将 gc_maxlifetime 更改为 86400 秒?

【问题讨论】:

我在使用 AWS bitnami php 时遇到了完全相同的问题。这里有什么问题?我的php版本是7.3.11。 【参考方案1】:

我好像找到了如何应用 php.ini。

根本原因是下面的命令没有重新加载 php.ini。

sudo /opt/bitnami/ctlscript.sh restart apache

由于我使用的是 AWS lightail,因此我连接了 AWS lightail 控制台。

    首先在此处停止实例。

    当实例完全停止时,点击开始按钮。 (值得注意的是..重启或重启按钮不会触发完全重启。所以你应该点击停止按钮然后开始按钮)

3.通过phpinfo()查看session.gc_maxlifetime

PS。 无论如何,这是我第一次 sudo /opt/bitnami/ctlscript.sh restart apache 不起作用。 另外我发现php -r 'echo ini_get("session.gc_maxlifetime"), "\n";' 命令只是读取当前的php.ini 文件,并不意味着服务器的当前设置。似乎最好使用 phpinfo() 来检查服务器的当前设置值。

【讨论】:

【参考方案2】:

需要重启php-fpm服务。

$ sudo systemctl stop php5-fpm.service
$ sudo systemctl start php7.0-fpm.service

【讨论】:

以上是关于PHP如何增加session.gc_maxlifetime?更改 php.ini 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何增加session.gc_maxlifetime?更改 php.ini 不起作用

如何在php 7中增加内存限制[重复]

php 如何减少/增加模块的重量?

php中如何进行用户信息的增加,删除,修改,功能。

如何使用 .htaccess 或 php.ini 增加上传文件大小限制? [复制]

如何增加特定脚本php fpm的请求超时