会话没有开始

时间:2011-09-21 18:10:55

标签: php session

我发现了一个惊人的问题。我今天发布了一个基于传销业务的网站。我整天测试网站,但没有发现错误。但到了晚上,当我尝试登录会员页面时,我收到以下错误:

[21-Sep-2011 13:30:36] PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_44507540b8d51d06160a2856360692e6, O_RDWR) failed: Permission denied (13) in /home/dashingb/public_html/sts/conf.php on line 3

我在使用apache服务器的共享主机上。我没有root权限。如何解决问题?上面还显示警告,但是当我尝试打开登录页面时,它显示500错误(http://dashingbird.com/sts/admin/

我的会话启动方法如下:

<?php
if(! isset($_SESSION)){
session_start();
}
?>

以下错误正在获得:

  
    

内部服务器错误

  
     

服务器遇到内部错误或配置错误   无法完成您的请求。

     

请联系服务器管理员webmaster@dashingbird.com和   告诉他们错误发生的时间,以及你可能做的任何事情   已经完成可能导致错误。

     

有关此错误的详细信息可能在服务器错误中可用   日志中。

     

此外,尝试时遇到404 Not Found错误   使用ErrorDocument来处理请求。 Apache / 2.0.63(Unix)   mod_ssl / 2.0.63 OpenSSL / 0.9.8e-fips-rhel5 mod_auth_passthrough / 2.1   mod_bwlimited / 1.4 FrontPage / 5.0.2.2635服务器在dashingbird.com端口   80

当我关闭error_reporting(E_ALL)时,我刚收到上述警告(会话警告)。 请帮帮我..

2 个答案:

答案 0 :(得分:3)

很可能PHP无法将会话文件写出到为会话保存路径指定的任何目录。您可以通过session_save_path()了解该路径。

如果您无法修改该目录的权限以允许Web服务器进行写入,则必须将PHP配置更改为指向可以读取/写入文件的目录。或者在调用session_save_path('/path/to/writeable/dir')之前,使用session_start()在每个脚本中手动覆盖它。

答案 1 :(得分:2)

服务器上似乎有问题。通常在共享主机上,您可以自己做。我建议您通过电子邮件(或打开机票)获得托管支持。

最有可能出现某种许可问题。

此外,500错误意味着服务器配置出现问题,主要是由.htaccess文件中的某些错误引起的。