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 不起作用