PHP会话无法在服务器中运行

时间:2009-12-30 06:19:29

标签: php

我正在设计一个php网站。完成后我将内容上传到服务器中。 该页面在localhost中运行正常。但上传后,页面甚至没有加载。 在每个页面的顶部,我都包含一个名为startsession.php的页面。本页内容如下:

            session_start();
            header("Pragma: no-cache");
            header("Cache-Control: no-cache, must-revalidate");
            header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

如果我删除session_start,它运行正常。错误的详细信息如下:

错误发生的页面---未知

出现错误的行号--- 0

错误的详细信息---未知():打开(/ tmp / sess_723d94fdc8ae3569b1a641fd8799ece9,O_RDWR)失败:没有这样的文件或目录(2)

错误代码--- 2.

请帮帮我

4 个答案:

答案 0 :(得分:7)

检查并确保运行Web服务器的用户可以写入路径(/ tmp),因为这可能是权限问题。此外,您需要在使用session_start之前使用header()函数,如文档中所述:

http://php.net/manual/en/function.session-start.php

因为session_start实际上可能会发送HTTP标头。此外,始终100%确定您正在使用:

的error_reporting(E_ALL)

答案 1 :(得分:3)

您可以使用自己的会话保存目录。

将以下代码放在session_start()之上;代码。

$sessdir = dirname(dirname(__FILE__)).'/session_dir';
ini_set('session.save_path', $sessdir); 

享受!!!!!!!!!!

答案 2 :(得分:1)

确保/ tmp / exists并且服务器有权写入。

如果这些都不起作用,请尝试清除/ tmp /.

答案 3 :(得分:0)

我有一个不同的问题 - 没有错误,但在linux上安装php / apache后会话无法正常工作。我花了几个小时研究这个,最后通过简单地删除/ tmp。

的内容解决了这个问题

感谢KramerC