Как изменить путь сохранения сеанса в php.ini-файл?


У меня есть общий хостинг на godaddy.

Я попытался изменить путь сохранения сеанса в php.ini-файл с этой строкой,

sessions.save_path = "/session"

Я контролировал путь сохранения сеансов с помощью сеансов.save_path() функция. Он возвращает /tmp до и после изменения php.ini

Можно ли изменить путь сохранения сеанса на общем хостинге?
Где я ошибаюсь?

5 13

5 ответов:

Вы можете изменить путь сохранения сеанса на общем хостинге, создав пользовательский php.ини.

Включите это в свой файл: session.save_path = "/path/to/your/folder"

В противном случае можно использовать:

ini_set('session.save_path', '/path/to/your/folder')
Папка, которую вы используете, должна находиться под вашим доменом / учетной записью, но недоступна через веб-браузер. Он также должен иметь разрешения на запись во всем мире. И каждая страница, использующая сеансы, должна содержать эту строку.

Это session.save_path , а не sessions.save_path (возможно, его переименовали или что-то еще, я не знаю, но sessions.save_path не сработало для меня)

session.save_path = "/path/to/your/folder" 

Работает отлично

Создайте папку с именем session в C:\session.

Измените каталогsession.save_path(); на вновь созданный путь: (C:\session) в любом месте из папки tmp.

Вот как я заставлял сеансы работать, с помощью этого потока. Я запускаю PHP в IIS.

Задайте папку сеанса в php.ини.

session.save_path = "C:/inetpub/temp/php_session"

(я еще не уверен, что эта папка сеанса является лучшей практикой для моей среды..с точки зрения безопасности. Мне нужно больше читать об этом.)

Установки пути сеанса было недостаточно. Сначала я поместил session_start() в функцию, где мне нужно было установить переменные сеанса, но даже несмотря на то, что файл сеанса был создан в моем пути (sess_d9eeeb305928f2f39a25f296773b09eb), значение $_SESSION было потеряно во время записи ajax на мою страницу PHP. Кто-то в stack\o сказал поставить session_start() в качестве первой строки, поэтому я попробовал, и мое значение сеанса работает. Я еще не придумал, где его уничтожить.

<?php 
session_start();
...

Также важно отметить, что session.save_path должно быть вызвано до session_start()