Как изменить session_save_path в файле php.ini? - PullRequest
15 голосов
/ 19 января 2012

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

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

sessions.save_path = "/session"

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

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

Ответы [ 5 ]

33 голосов
/ 19 января 2012

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

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

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

ini_set('session.save_path', '/path/to/your/folder')

Используемая папка должна находиться в вашем домене / учетной записи, но не быть доступной через веб-браузер.Он также должен иметь права на запись, доступные для записи.И каждая страница, которая использует сеансы, должна содержать эту строку.

6 голосов
/ 06 июня 2013

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

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

работает нормально

1 голос
/ 03 сентября 2018

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

0 голосов
/ 01 августа 2018

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

Установите папку сеанса в php.ini.

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

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

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

<?php 
session_start();
...
0 голосов
/ 09 июня 2016

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

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

...