首页 » PHP » PHP配置

PHP常用配置

session

通常PHP程序都配置为将Cookie作为session的底层实现:

session.use_cookies = 1

session.use_only_cookies = 1

但关于Cookie/session的生存周期的配置,session.cookie_lifetime和session.gc_maxlifetime容易混淆。cookie_lifetime是Cookie的生命周期,一旦超过这个值Cookie就失效,gc_maxlifetime是session文件的生存期,如果超过这个值,session文件就可能被垃圾回收程序给删除。可能出现这样的情况:Cookie本身没有超时,但session文件被删除了,这样的结果就是登录状态的用户被迫掉线。

session.cookie_lifetime的默认值为0,即浏览器关闭Cookie就失效。如果我们想要在浏览器关闭后Cookie继续有效,则可将cookie_lifetime的设置为一个较大的整数。

session.gc_maxlifetime的默认值为1440(24分钟),如果24分钟内session文件没有任何改变,session文件就可能被删除。删除概率是:session.gc_probability / session.gc_divisor,通常而言,gc_probability默认值为1,gc_divisor默认值为100,即1%的概率。更准确的说这个概率是:每个会话初始化时启动gc进程的概率(启动garbage collection垃圾回收进程的概率)。

session.gc_probability = 1

session.gc_divisor = 100

自动加载文件

选项:

auto_prepend_file
auto_append_file

如果每个页面都需要require()相同的文件,则可以配置自动加载,例如页眉和页脚:

auto_prepend_file="/www/berlinix/header.php"
auto_append_file="/www/berlinix/footer.php"

分享

0