PHP 会话文件存储在临时目录中 - Apache

PHP 会话文件存储在临时目录中 - Apache

我遇到了一个小问题...我使用 AppServ 2.5.10 设置了一台服务器,运行 Apache 2.2.8 和 PHP 5.2.6。它运行在 Windows Server 2008R2 上。

问题是,为了让会话正常工作,我必须登录到服务器。这意味着,服务器上的用户必须登录,并且我必须在网站上有一个活动会话(登录)。如果其中一个不成立,网站在任何具有 session_start() 的页面上都会出现以下错误

警告:session_start() [function.session-start]:打开(C:/Users/MARKR_~1/AppData/Local/Temp/2\sess_a35eddd147642009ba2e4f2364aaacff,O_RDWR)失败:C:\AppServ\www\ITOPS\Contacts\admin\add\addContact.php 第 2 行中没有该文件或目录 (2)

警告:session_start() [function.session-start]: 无法发送会话缓存限制器 - 标头已发送(输出开始于 C:\AppServ\www\ITOPS\Contacts\admin\add\addContact.php:2)在 C:\AppServ\www\ITOPS\Contacts\admin\add\addContact.php 第 2 行

警告:无法修改标头信息 - 标头已由(输出开始于 C:\AppServ\www\ITOPS\Contacts\admin\add\addContact.php:2)在 C:\AppServ\www\ITOPS\Contacts\admin\add\addContact.php 第 4 行发送

我尝试按照这篇文章中的建议去做:

在 PHP 中将会话文件存储在不同的目录中

但是我无法让它在我指定的目录中创建会话文件,所以它给出了同样的错误。

我拥有相同的设置,除了运行 Server 2003 之外,不存在此问题。它是以相同的方式安装的,并且使用相同版本的 Apache/PHP。

知道我做错了什么吗?

答案1

听起来你只是遇到了权限问题 - 不要像上一个问答所建议的那样走 .htaccess 路线 - 在你的 php.ini 中找到会话保存路径,并将其设置为不在用户目录中的某个路径 [/tmp ??] - 确保该目录具有 Web 服务器以何种身份运行的写权限.... 一定要停止/启动 apache。

相关内容