我正在开发一个需要使用会话的网站。然而,会话寿命的默认值是1440秒或24分钟。我试图用ini_set()
来改变这个,确保把ini_set()
放在session_start()
之前,然后用ini_get()
检查它。 ini_get()
返回我设置的值,但会话似乎仍遵循默认规则集。主机是否可以锁定php ini设置?
那么主机是否可以锁定编辑ini设置?
我正在开发一个需要使用会话的网站。然而,会话寿命的默认值是1440秒或24分钟。我试图用ini_set()
来改变这个,确保把ini_set()
放在session_start()
之前,然后用ini_get()
检查它。 ini_get()
返回我设置的值,但会话似乎仍遵循默认规则集。主机是否可以锁定php ini设置?
那么主机是否可以锁定编辑ini设置?
简答:可能。
这可能是因为他们已经通过disable_functions
指令在全局php.ini中禁止使用ini_set
,但这并不能解释您所看到的行为;该文档尚不明确,但如果您调用禁用的函数,我希望它会引发错误,也不能解释为什么ini_get
返回您之前设置的内容。他们也完全可能运行他们自己的补丁版本的PHP来改变这种行为。不是闻所未闻,但不太可能。
事情尝试:
session_start
),你设置正确参数(session.cookie_lifetime
)是的,我已经完成了这两个。那么他们必须禁用它们。使用会话进行用户登录时,有点烦人。我有一个与他们聊天tommrow关于它:) – user2126881
唤醒器是肯定的。
该php代理有3个作用域。
1系统
这一个影响所有的应用程序。它是global.ini文件。他们可以 也禁用覆盖。
2 Perdir
这是你的php.ini文件。它只影响你的目录。在这里可以 您禁用脚本范围覆盖项,并允许
3时脚本
这是
ini_set
范围使该 系统范围覆盖。允许
所以有可能是一台主机锁定的INI设置编辑时,它可以覆盖perdir &系统 范围是什么?
是的,他们可以禁用覆盖系统范围内。
真的吗?你有资源吗?从[文档说](http://uk3.php.net/manual/en/configuration.changes.php),它在我看来像这些被烘烤到PHP中,不能修改PHP本身。所以,如果一个属性被'PHP_INI_ALL'标记为可更改的,我不会看到如何通过PHP_INI_SYSTEM改变它。 – BenLanc
哪个网络服务器? – wallyk
我相信我在apache上使用linux。 – user2126881
是的。主持人可以强制他们想要的任何设置,或者如果他们愿意,可以禁止您进行更改。特别是在外部文件如会话的地方,他们可以做自己的垃圾收集。 –