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

Форум PHP

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

 

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

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

тема: Изменение $maxlifetime сессии
 
 автор: Vladimir   (26.08.2008 в 12:02)   письмо автору
 
 

$maxlifetime - это максимальное время жизни сессии после завершения сценария, а практически зто время жизни сессии после начала сценария. Пробовал увеличить его переопределением функции session_set_save, но оно не менялось.
Как увеличить время жизни сессии?

  Ответить  
 
 автор: sim5   (26.08.2008 в 12:15)   письмо автору
 
   для: Vladimir   (26.08.2008 в 12:02)
 

ini_set (string varname, string newvalue)

  Ответить  
 
 автор: Vladimir   (26.08.2008 в 12:36)   письмо автору
 
   для: sim5   (26.08.2008 в 12:15)
 

Изменить переменную таким образом невозможно.
Ответ сервера: ini_set() has been disabled for security reasons.
Как сохранить переменные при переходе с одной страницы на другую в течении всего сеанса?

  Ответить  
 
 автор: Киналь   (26.08.2008 в 12:42)   письмо автору
 
   для: Vladimir   (26.08.2008 в 12:36)
 

А что, какой-то ооочень "толстый" скрипт выполняется? В крайнем случае попробуйте вместо сессии использовать куки.
Если ini_set() запрещен, то, скорее всего, с сессией ничего не сделать.

  Ответить  
 
 автор: sim5   (26.08.2008 в 12:43)   письмо автору
 
   для: Vladimir   (26.08.2008 в 12:36)
 

Выполните ini_get('session.cookie_lifetime') и посмотрите. Может у вас проблема не во времени жизни сессии, а в том, что она у вас прерывается - не стартуете ее вы при переходах между страницами.

  Ответить  
 
 автор: Vladimir   (26.08.2008 в 13:37)   письмо автору
 
   для: sim5   (26.08.2008 в 12:43)
 

Sim5!
Спасибо за поддержку.
Параметр session.cookie_lifetime задает длительность жизни cookies в секундах.
Он равен 3600.
Но как проверить стартует ли Сессия?
Сессия стартует т.к. без session.start() нет вообще передачи переменных.

  Ответить  
 
 автор: sim5   (26.08.2008 в 13:52)   письмо автору
 
   для: Vladimir   (26.08.2008 в 13:37)
 

Вообще-то она стартуется так: session_start();

  Ответить  
 
 автор: Vladimir   (26.08.2008 в 13:56)   письмо автору
 
   для: sim5   (26.08.2008 в 13:52)
 

Конечно так session_start();

  Ответить  
 
 автор: sim5   (26.08.2008 в 14:03)   письмо автору
 
   для: Vladimir   (26.08.2008 в 13:56)
 

session_id() - получите id текущей сессии.

  Ответить  
 
 автор: Vladimir   (26.08.2008 в 14:31)   письмо автору
 
   для: sim5   (26.08.2008 в 14:03)
 

ID текущей сессии созраняется, а значение переменных равны ничему, пустота. Т.е кука жива и сохраняет id, а сессия нет. Время жизни сессии. изначально. короче примерно в 3 раза.

  Ответить  
 
 автор: sim5   (26.08.2008 в 14:51)   письмо автору
 
   для: Vladimir   (26.08.2008 в 14:31)
 

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

  Ответить  
 
 автор: Vladimir   (26.08.2008 в 14:04)   письмо автору
 
   для: Vladimir   (26.08.2008 в 13:56)
 

При работе от локального сервера Apache все хорошо. Но при работе с удаленным сервером жизнь сессии укорачивается. Похоже, что время сессиии отсчитывается от первого запуска.
Какие могут быть альтернативы?

  Ответить  
 
 автор: sim5   (26.08.2008 в 14:27)   письмо автору
 
   для: Vladimir   (26.08.2008 в 14:04)
 

Если в файле А написано:
session_start();
$_SESSION['var'] = 1;
то при наличии в файле В старта сессии (а это создает сессию или продолжает текущую на основе session id, переданного через GET-переменную или куку), то нет проблем выполнить:
echo $_SESSION['var'];
Если обращение к страницам происходит за время превышающее время жизни сессии, то будет создана новая. Если проблемы связаны с этим, а изменить время жизни вы не можете, то к хостеру.

  Ответить  
Rambler's Top100
вверх

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