Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: к вопросу о сессиях
 
 автор: Axxil   (22.07.2004 в 13:10)   письмо автору
 
 

Что-то я ни как не могу разобраться куда записываются сессии.
У меня по умолчанию в php.ini на локальной машине стоит ../trash. Сюда что ли?
Как я понял если у меня один файл находится в каталоге /main , а второй файл в каталоге /main/something/ то для первого сессии будут в каталоге trash, а для второго в каталоге /main/trash.
И как вообще можно поменять каталог записи сессий.
И ещё. Как всё-таки лучше обращаться к переменным в сессиях через session_register() или глобальные массивы? Если второе то какой масив лучше использовать?

   
 
 автор: cheops   (22.07.2004 в 14:05)   письмо автору
 
   для: 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 // новый вариант, вот его лучше и использовать.

   
 
 автор: Axxil   (23.07.2004 в 10:00)   письмо автору
 
   для: cheops   (22.07.2004 в 14:05)
 

>Сейчас с наскоку попробовал прописать переменную
>session.save_path в php.ini - ничего не вышло :( - не
>сохраняет в ней ничего. Нужно подумать, то ли PHP по
>умолчанию скомпилирован так, чтобы сессии хранились в
>памяти, то ли ещё чего....
У меня на локальной машине стоит стандартная связка Apache+PHP+MySQL , c помощью которой занимаюсь отладкой сайта. Так вот меняю каталог в session.save_path и тогда в указанном месте появляются файлы вида sess_3b81ec7d40702df82ead62a3d02d55c8. Я почему то думал что это и есть сохранённые сессии.
Если это так, то можно ли считывать из них информацию при отключенных куках.
Например: зашёл ко мне на сайт Вася. Зарегистрировался. Ввёл пароль. Походил, посмотрел и ушёл. Далее пришёл вновь через 3 дня. По нику и паролю я Васю определю, но как можно восстановить предыдущие связанные с ним значения переменных?

   
 
 автор: cheops   (23.07.2004 в 21:42)   письмо автору
 
   для: Axxil   (23.07.2004 в 10:00)
 

Да, это они и есть... Обидно! У меня не появляются... прописал путь С:\tmp, создал каталог - ничего не появляется :( Не поделитесь, как вы этого добились?

Всё зависит от переменной session.cookie_lifetime - не известно сколько времени отпущено сессии на реальном сервере. Если в случае с cookie вы сами определяете время жизни cookie (ну, если посетитель не потрёт их самостоятельно), то на сервере всё будет зависить от политики системного администратора.

   
 
 автор: Axxil   (24.07.2004 в 12:22)   письмо автору
 
   для: cheops   (23.07.2004 в 21:42)
 

насколько я знаю если писать прямой путь вида C:\temp то этот вид записи игнорируется как буд-то его вообще нет. А если путь писать в относительном виде ../temp то вроде работает.
С чем связано так и не понял...

   
 
 автор: cheops   (24.07.2004 в 12:45)   письмо автору
 
   для: Axxil   (24.07.2004 в 12:22)
 

Да у меня тоже появились, кстати, и с абсолютным путём... может я прошлый раз чего-нибудь не так сделал...
session.save_path = "C:\tmp"

Забавно :).

   
 
 автор: evgen_17   (19.02.2005 в 19:44)   письмо автору
 
   для: cheops   (24.07.2004 в 12:45)
 

А какая вообще разница, записываются они в этот фаил
(session.save_path = "C:\tmp") или нет? Разве это обязательно?

   
 
 автор: cheops   (19.02.2005 в 20:48)   письмо автору
 
   для: evgen_17   (19.02.2005 в 19:44)
 

На работу самих сессий это никак не влияет, но при отладки скриптов можно визуально контролировать - зарегистрирована сессия или нет.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования