在我的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
答案 0 :(得分:3)
session_set_save_handler
function与session.set_handler
configuration指令完全不同。前者期望callable type作为其第一个参数,而后者期望标量值作为PHP中的注册处理程序之一。
你想要的是ini_set('session.save_handler', 'files')
。
为session.save_path
会话处理程序设置redis
时,应避免使用无法通过DNS解析程序直接解析的主机名。这几乎与/etc/hosts
localhost
中的127.0.0.1
相似。相反,请尝试使用redis直接侦听的IP地址,例如/etc/hosts
。这样做的原因是PHP在解析主机名时不会直接尝试python
。