仅为一页设置 session_set_save_handler
Setting session_set_save_handler for one page only
在我的 php.ini 中,我有以下设置:
session.save_handler = redis
session.save_path = "tcp://localhost:6379?weight=1"
但我想保留该设置,因为它与我正在使用的这个系统一起工作,但唯一的问题是当我尝试创建会话时它给我错误.. 跑题了。
问题是,我试图将保存处理程序设置为仅供我 login.php 使用的文件,然后再使用 redis。
我的文件中有以下代码,但没有从 redis 更改为文件:
session_set_save_handler('files');
session_save_path("/tmp/");
session_start(); // Starting Session
session_set_save_handler
function doesn't exactly do the same thing as the session.set_handler
configuration directive. The former expects a callable type 作为它的第一个参数,而后者期望一个标量值作为 PHP.
中注册的处理程序之一
你想说的就是ini_set('session.save_handler', 'files')
.
当您为 redis
会话处理程序设置 session.save_path
时,您应该避免使用无法通过 DNS 解析器直接解析的主机名。这几乎是您在 /etc/hosts
中输入的任何内容,例如 localhost
。相反,尝试使用 redis 直接监听的 IP 地址,例如 127.0.0.1
。这样做的原因是 PHP 在解析主机名时不会尝试直接查看 /etc/hosts
。
在我的 php.ini 中,我有以下设置:
session.save_handler = redis
session.save_path = "tcp://localhost:6379?weight=1"
但我想保留该设置,因为它与我正在使用的这个系统一起工作,但唯一的问题是当我尝试创建会话时它给我错误.. 跑题了。
问题是,我试图将保存处理程序设置为仅供我 login.php 使用的文件,然后再使用 redis。
我的文件中有以下代码,但没有从 redis 更改为文件:
session_set_save_handler('files');
session_save_path("/tmp/");
session_start(); // Starting Session
session_set_save_handler
function doesn't exactly do the same thing as the session.set_handler
configuration directive. The former expects a callable type 作为它的第一个参数,而后者期望一个标量值作为 PHP.
你想说的就是ini_set('session.save_handler', 'files')
.
当您为 redis
会话处理程序设置 session.save_path
时,您应该避免使用无法通过 DNS 解析器直接解析的主机名。这几乎是您在 /etc/hosts
中输入的任何内容,例如 localhost
。相反,尝试使用 redis 直接监听的 IP 地址,例如 127.0.0.1
。这样做的原因是 PHP 在解析主机名时不会尝试直接查看 /etc/hosts
。