服务器端的PHP session_start()错误

时间:2010-10-01 22:22:57

标签: php session

我目前正在尝试将我的网站从我的计算机上的localhost移动到我的网络服务器。还有一个问题。

一切正常,除了管理登录表单。

起初我认为这不是-dave-8-without-BOM问题,但错误日志显示了一些我以前从未遇到过的奇怪问题。据我所知,问题是关于在服务器上保存会话数据,请参阅下面的错误日志。

PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in /hermes/bosweb/web273/b2738/ipg.mydomaincom/admin/login.php on line 2 
PHP Warning:  Unknown: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 
PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/php_sessions) in Unknown on line 0 
PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in /hermes/bosweb/web273/b2738/ipg.mydomaincom/admin/include/header.php on line 2 
PHP Warning:  Unknown: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 
PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/php_sessions) in Unknown on line 0

以下是我用于login.php文档的代码:

<?php
    session_start ();
    require_once 'config/config.php';
    $auth = "SELECT username, password FROM admin";
  $dbi = mysql_query($auth, $connection);
  $row = mysql_fetch_array($dbi);

    if($_POST["username"] == $row['username'] && MD5($_POST["password"]) == $row['password'])

    {
        $_SESSION["Login"] = "true";
        header ("Location: index.php");
    }
    else 
        {
            $_SESSION["Login"] = "false";
            //error msg
            echo "<html>
            <head><title>Failed Login Attempt</title></head>
            <body>
            Ops! Unlucky guess, try again!  
            <a href='index.php'>Go Back</a>
            </body>
            </html>         
            ";  
    }
?>

3 个答案:

答案 0 :(得分:7)

第一步,检查目录/var/php_sessions/是否存在且Web服务器是否可写。

答案 1 :(得分:3)

phpGrid要求会话工作。

首先,如果您有权访问php.ini,请检查session.save_path中的路径是否有效且可写。在Linux中,默认情况下,路径为/ var / php_sessions /.

某些网络托管服务(如iPage)出于安全原因禁止共享用户会话文件夹。用户必须创建和维护自己的会话文件夹。

http://www.ipage.com/knowledgebase/beta/article.bml?ArticleID=1290&type=How%20To#Nugget_1374

如果您不想处理所有这些并且更喜欢更安全的托管,我们建议使用bluehost或stablehost。

答案 2 :(得分:0)

也许你应该先创建目录。似乎config / config.php中的目录不存在。