значение переменной сеанса php равно null при размещении на сервере
У меня странная проблема в сеансах.. это работает в WAMP-сервере на моей локальной машине.. моя проблема в том, что wen, размещенный на сервере в США, не работает..
Я делаю вот так:
session_start();
$_SESSION['test'] = 'testing login..';
На другой странице Я делаю:
session_start();
echo('my session value is : '.$_SESSION['test']);
Но я получаю только мое значение сеанса:
Мое значение сеанса не устанавливается..
Я проверил сеанс.save_path в cPanel сервера он говорит /tmp.
Пожалуйста, помогите.. Спасибо заранее.
4 ответа:
Может быть, ваш скрипт умирает, потому что
session_start
терпит неудачу с "уже отправленными заголовками"? Это может произойти, например, если ваша тестовая машина и рабочий сервер не кодируют новые строки одинаково...Ошибки, вероятно, не отображаются на вашем рабочем сервере, попробуйте что-то вроде этого:
И посмотрим, получится ли у вас что-нибудь полезное.ini_set('display_errors', 1); session_start();
Проверьте разрешения на вашем
session.save_path
. Это место должно быть доступно для записи пользователем Apache / httpd.Также проверьте, содержит ли вы
session.save_path
какие-либо файлы с префиксамиsess_
.
Спасибо за помощь.
Моей проблемой было разрешение безопасности в папке / tmp. как только это исправлено, это работает.
Среднее время не используйте только числовые идентификаторы сеансов, (например. $_SESSION ['12345']), потому что в linux хостинг не принимает только числовой индекс и пропускает его. (поэтому используйте $_SESSION ['ACS12345'])..