我正在编写登录脚本,但由于我对/tmp文件夹没有写入权限,我制作了另一个脚本,并将session.dave_path设置为新文件夹。
我一直在终端上测试脚本,文件夹得到了一个新条目,但是当我在浏览器上运行scrip时,脚本失败了,新的tmp文件夹没有新条目。
现在,我已经通过输出新路径测试了新路径,它给了我正确的东西(当然这应该是真的,因为脚本在终端上工作)
以下是我如何启动脚本:
ini_set('session.save_path', $path);
session_start();
有什么理由让它在终端上工作而不是在浏览器上工作吗?
这很可能是权限问题。当您在命令行上运行该文件时,它将作为您的用户运行。当您通过浏览器访问该文件时,它以web服务器用户(即apache)的身份运行。尝试授予web服务器对您创建的文件夹的写入权限,看看这是否解决了问题。
我知道这可能很明显,但在顶部的<html>
阶段之前有session_start()
吗?