我正在一个需要使用会话的网站上工作。但是,会话生命周期的默认值为 1440 秒或 24 分钟。我试图改变这一点ini_set()
,确保将 放在ini_set()
之前session_start()
,然后用ini_get()
. ini_get()
返回我设置的值,但会话似乎仍然遵循默认规则集。
那么主机是否可以锁定对 ini 设置的编辑?
我正在一个需要使用会话的网站上工作。但是,会话生命周期的默认值为 1440 秒或 24 分钟。我试图改变这一点ini_set()
,确保将 放在ini_set()
之前session_start()
,然后用ini_get()
. ini_get()
返回我设置的值,但会话似乎仍然遵循默认规则集。
那么主机是否可以锁定对 ini 设置的编辑?
简短的回答:可能。
可能是他们ini_set
通过disable_functions
全局 php.ini 中的指令禁用了使用,但这并不能解释您所看到的行为;文档不清楚,但是如果您调用禁用的函数,我希望它会引发错误,也没有解释为什么ini_get
返回您之前设置的内容。他们也完全有可能正在运行他们自己的 PHP 补丁版本来改变这种行为。并非闻所未闻,但不太可能。
要尝试的事情:
session_start
)session.cookie_lifetime
) 并且您的 ini_set 肯定放置在 session_start 之前,或者您在其他地方没有另一个 session_start是的。
php 代理有 3 个作用域。
1 系统
这会影响所有应用程序。它的 global.ini 文件。他们还可以禁用覆盖。
2 佩迪尔
这是您的 php.ini 文件。它只会影响您的目录。您可以在此处禁用脚本范围的覆盖,并在允许时在系统范围内进行覆盖
3 脚本
这是
ini_set
范围。它可以在允许时覆盖 perdir 和系统范围
那么主机是否可以锁定对 ini 设置的编辑?
是的,他们可以在系统范围内禁用覆盖。