2013-06-12 4 views
0

У меня есть следующие сценарии: login.php

session_start(); 
    #login procedure (not relevant) 
    if (login(..)) { 
     $_SESSION['uid'] = $foo; 
     $_SESSION['login'] = true; 

     session_write_close(); 

     var_dump($_SESSION); //=> works properly 

     header('location: index.php'); 
     exit(); 
    } 

index.php

session_start(); 
include('core/auth.php'); 

//.. 

auth.php

session_start(); 
var_dump($_SESSION); //=> EMPTY (!) 

Так что кажется, как переменные сеанса теряются во время перенаправления. Проблема с конфигурацией сервера?

Любая помощь приветствуется.

+0

Вы используете это на локальном хосте? –

+1

Почему не вызывает двойной вызов 'session_start()' вызывает создание ошибок? – Dale

+0

'if (! Session_id()) session_start();' использовать это в 'core/auth.php' – Dale

ответ

0

Если вы используете «файл» как PHP сессии экономии обработчика (session.save_handler переменной в php.ini), убедитесь, что пользователь хостинг PHP процесс (вероятно, Apache, Nginx или) имеет разрешения на запись путь сохранения. (session.save_path)

Смежные вопросы