PHP session_start () ошибка на стороне сервера - PullRequest
2 голосов
/ 02 октября 2010

Я сейчас пытаюсь переместить мой сайт с локального хоста на моем компьютере на мой веб-сервер. И есть одна проблема.

Все отлично работает, кроме формы авторизации для администрирования.

Сначала я подумал, что это не проблема сохранения-как-utf-8-без-спецификации, но журналы ошибок показывают странную проблему, которой у меня никогда не было. Насколько я понимаю, проблема заключается в сохранении данных сеанса на сервере, см. Журнал ошибок ниже.

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 ]

7 голосов
/ 02 октября 2010

первый шаг, убедитесь, что каталог /var/php_sessions/ существует и доступен для записи на вашем веб-сервере.

3 голосов
/ 11 апреля 2013

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.

0 голосов
/ 02 октября 2010

возможно, вам следует сначала создать каталог. Кажется, что каталог в вашем config / config.php не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...