我正在设计一个网站在php.After完成后,我上传的东西在服务器上。 该页面在localhost中正常工作。但上传后,该页面甚至没有加载。 在每一页的顶部,我都包含一个名为startsession.php的页面。这个页面的内容如下: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。
请帮我
@Kristopher:+1对于一个很好的解释。你还可以告诉,在Windows上的PHP保存其会话数据的目录,如/ tmp/in linux? – gameover 2009-12-30 06:28:04
header()函数的放置位置不需要在session_start()之前。我过去在session_start()之后使用了header()函数,没有任何问题。 – KramerC 2009-12-30 06:33:58
@gameover你可以用这个来获取当前会话目录: http://www.php.net/manual/en/session.configuration.php#ini.session.save-path @Kramer_Cambell谢谢,我也使用了session_start()而没有问题,但是文档明确说它会“发送”这些头文件,尽管我怀疑它实际上使用了header()或者缓存了更改,直到您输出为止。 – 2009-12-30 07:02:08