Почему Session не работает на сервере, есть ли для него настройки на стороне сервера? - PullRequest
0 голосов
/ 02 марта 2020

Почему Session не работает на сервере, есть ли какие-либо настройки на стороне сервера для переменных сеанса.

enter image description here

Как показано на скриншоте выше, сначала Я выполняю ab c. php, а затем abcd. php. когда ab c. php выполняет, он возвращает мне Array ( [admin] => 1 ), и я снова выполняю abcd. php, он возвращает мне только пустой массив Array ( ).

, он отлично работает на localhost, но не на сервере, поэтому есть ли какие-либо настройки на стороне сервера, которые нужно сделать для меня.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 02 марта 2020

проверьте phpinfo () на сервере и проверьте session.save_path.

и убедитесь, что этот путь и папка доступны с разрешением записи.

enter image description here

В моем случае - не было папки 'tmp'. Я создал и проблема решена

0 голосов
/ 02 марта 2020

Проверьте, является ли это проблемой пути сеанса. Чтобы установить новый путь сеанса, следуйте приведенным ниже инструкциям.

По умолчанию PHP сохраняет данные сеанса в файлах, а файлы хранятся в каталоге / tmp вашего сервера. Каждый сеанс сохраняется в своем собственном файле. echo session_save_path ();

функция session_save_path возвращает текущий путь сохранения сеанса. Если функция session_save_path () возвращает значение null, тогда session.save_path комментируется в вашем файле php .ini.

Вы может раскомментировать session.save_path session.save_path = "C: \ WINDOWS \ Temp"

Чтобы изменить путь по умолчанию для хранимой сессии, вы можете использовать ту же функцию session_save_path (), но с параметром, который является путем нового каталога

session_save_path ("/ var / www/html/project/sess_save/");

И в случае, если вы работаете на таких платформах, как CodeIgniter. Всегда лучше определить путь сеанса в конфигурации. php

...