|
|
|
| Что-то я ни как не могу разобраться куда записываются сессии.
У меня по умолчанию в php.ini на локальной машине стоит ../trash. Сюда что ли?
Как я понял если у меня один файл находится в каталоге /main , а второй файл в каталоге /main/something/ то для первого сессии будут в каталоге trash, а для второго в каталоге /main/trash.
И как вообще можно поменять каталог записи сессий.
И ещё. Как всё-таки лучше обращаться к переменным в сессиях через session_register() или глобальные массивы? Если второе то какой масив лучше использовать? | |
|
|
|
|
|
|
|
для: Axxil
(22.07.2004 в 13:10)
| | >Что-то я ни как не могу разобраться куда записываются
>сессии.
>У меня по умолчанию в php.ini на локальной машине стоит
>../trash. Сюда что ли?
Хм... я как-то никогда не задавался таким вопросом, так как считал, что сессии должны хранится в оперативной памяти сервера. Существует даже проблема, для Web-приложений интенсивно использующих сессии - они занимают слишком много ценной оперативной памяти сервера.
>Как я понял если у меня один файл находится в каталоге
>/main , а второй файл в каталоге /main/something/ то для
>первого сессии будут в каталоге trash, а для второго в
>каталоге /main/trash.
Сейчас с наскоку попробовал прописать переменную session.save_path в php.ini - ничего не вышло :( - не сохраняет в ней ничего. Нужно подумать, то ли PHP по умолчанию скомпилирован так, чтобы сессии хранились в памяти, то ли ещё чего....
>И как вообще можно поменять каталог записи сессий.
>И ещё. Как всё-таки лучше обращаться к переменным в сессиях
>через session_register() или глобальные массивы? Если второе
>то какой масив лучше использовать?
Лучше использовать суперглобальные массивы, а не функцию session_register().
В PHP есть два суперглобальных массива
$HTTP_SESSION_VARS // устаревший вариант суперглобального массива
$_SESSION // новый вариант, вот его лучше и использовать. | |
|
|
|
|
|
|
|
для: cheops
(22.07.2004 в 14:05)
| | >Сейчас с наскоку попробовал прописать переменную
>session.save_path в php.ini - ничего не вышло :( - не
>сохраняет в ней ничего. Нужно подумать, то ли PHP по
>умолчанию скомпилирован так, чтобы сессии хранились в
>памяти, то ли ещё чего....
У меня на локальной машине стоит стандартная связка Apache+PHP+MySQL , c помощью которой занимаюсь отладкой сайта. Так вот меняю каталог в session.save_path и тогда в указанном месте появляются файлы вида sess_3b81ec7d40702df82ead62a3d02d55c8. Я почему то думал что это и есть сохранённые сессии.
Если это так, то можно ли считывать из них информацию при отключенных куках.
Например: зашёл ко мне на сайт Вася. Зарегистрировался. Ввёл пароль. Походил, посмотрел и ушёл. Далее пришёл вновь через 3 дня. По нику и паролю я Васю определю, но как можно восстановить предыдущие связанные с ним значения переменных? | |
|
|
|
|
|
|
|
для: Axxil
(23.07.2004 в 10:00)
| | Да, это они и есть... Обидно! У меня не появляются... прописал путь С:\tmp, создал каталог - ничего не появляется :( Не поделитесь, как вы этого добились?
Всё зависит от переменной session.cookie_lifetime - не известно сколько времени отпущено сессии на реальном сервере. Если в случае с cookie вы сами определяете время жизни cookie (ну, если посетитель не потрёт их самостоятельно), то на сервере всё будет зависить от политики системного администратора. | |
|
|
|
|
|
|
|
для: cheops
(23.07.2004 в 21:42)
| | насколько я знаю если писать прямой путь вида C:\temp то этот вид записи игнорируется как буд-то его вообще нет. А если путь писать в относительном виде ../temp то вроде работает.
С чем связано так и не понял... | |
|
|
|
|
|
|
|
для: Axxil
(24.07.2004 в 12:22)
| | Да у меня тоже появились, кстати, и с абсолютным путём... может я прошлый раз чего-нибудь не так сделал...
session.save_path = "C:\tmp"
|
Забавно :). | |
|
|
|
|
|
|
|
для: cheops
(24.07.2004 в 12:45)
| | А какая вообще разница, записываются они в этот фаил
(session.save_path = "C:\tmp") или нет? Разве это обязательно? | |
|
|
|
|
|
|
|
для: evgen_17
(19.02.2005 в 19:44)
| | На работу самих сессий это никак не влияет, но при отладки скриптов можно визуально контролировать - зарегистрирована сессия или нет. | |
|
|
|