主机是否可以锁定php.ini设置



我正在开发一个需要使用会话的网站。但是,会话寿命的默认值是1440秒或24分钟。我已经尝试使用ini_set()来改变这一点,确保将ini_set()放在session_start()之前,然后用ini_get()进行检查。ini_get()返回我设置的值,但会话似乎仍然遵循默认规则集。

那么,主机有可能锁定ini设置的编辑吗?

简短回答:可能。

可能是他们通过全局php.ini中的disable_functions指令禁用了ini_set的使用,但这并不能解释您所看到的行为;文档并不清楚,但如果您调用了一个禁用的函数,我希望它会抛出一个错误,也没有解释为什么ini_get会返回您之前设置的内容。他们也完全有可能运行自己的修补版本的PHP来改变这种行为。并非闻所未闻,但可能性不大。

尝试的东西:

  • 改为使用session_set_cookie_params设置(需要在session_start之前)
  • 仔细检查您是否设置了正确的参数(session.cookie_lifetime),并且您的ini_set是否确实位于session_start之前,或者您在其他地方没有其他session_start

awser是yes。

php代理有3个作用域。

1系统

此操作会影响所有应用程序。它是global.ini文件。他们可以同时禁用覆盖。

2 Perdir

这是您的php.ini文件。它只影响您的目录。这里可以禁用脚本作用域的覆盖,并在允许时的系统范围

3脚本

这是ini_set范围。它可以覆盖perdir&系统允许时的范围

那么主机有可能锁定ini设置的编辑吗

是的,他们可以在系统范围内禁用覆盖。

最新更新