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

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

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

sessions.save_path = "/session"

я контролировал сеансы сохранить путь с сеансы.save_path()

5 ответов


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

включите это в свой файл: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) в любом месте из .


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

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

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

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

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

<?php 
session_start();
...

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