значение переменной сеанса php равно null при размещении на сервере


У меня странная проблема в сеансах.. это работает в WAMP-сервере на моей локальной машине.. моя проблема в том, что wen, размещенный на сервере в США, не работает..

Я делаю вот так:

session_start();
$_SESSION['test'] = 'testing login..';

На другой странице Я делаю:

session_start();
echo('my session value is : '.$_SESSION['test']);

Но я получаю только мое значение сеанса:

Мое значение сеанса не устанавливается..

Я проверил сеанс.save_path в cPanel сервера он говорит /tmp.

Пожалуйста, помогите.. Спасибо заранее.

4 4

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'])..

Открывающий тег php должен быть записан в первой строке файла php. Этот метод помогает мне решить эту проблему.