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

Форум PHP

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

 

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

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

тема: Настройка сессий
 
 автор: Odin Kg   (02.10.2004 в 15:07)   письмо автору
 
 

На моем домашнем компьютере все работает правильно, но вот когда я выложил страницу на сервер, там возникли проблемы. Никаких сообщений об ошибках сервер не выдает, но не работают сессии. Я использую сессии через $_SESSION. Однако, вижу, что переменные сессий из скрипта в скрипт не передаются. Строка session.save_path прописана правильно (так как сервер не ругается). Сообщений об ошибках нет. Что требуется для корректной работы сессий?

У меня: XP, Апач 1.3, PHP 5.
Сервер: XP, Апач 1.3, PHP 4. апач не имеет прав system (он User)..

   
 
 автор: cheops   (02.10.2004 в 17:22)   письмо автору
 
   для: Odin Kg   (02.10.2004 в 15:07)
 

К серверу доступ имеете? Если да, то можно попробовать прописать путь для сохранения сессий на жёсткий диск и проконтролировать ситуацию. Если, нет, то нельзя ли вежливо потеребить админа сервера по этому поводу? Ему как бы виднее почему у него сессии не работаю...

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=104

   
 
 автор: Кузнецов М.В.   (02.10.2004 в 18:18)   письмо автору
 
   для: Odin Kg   (02.10.2004 в 15:07)
 

Наверное, что-то с сессионными настройками в php.ini. Все тоже самое, что нам написали, - админу хостинга. Пускай разбирается. Если чего не заладится, пишите, что он Вам ответит, какой хостинг - разберемся.

   
 
 автор: cheops   (02.10.2004 в 18:47)   письмо автору
 
   для: Кузнецов М.В.   (02.10.2004 в 18:18)
 

Сервер на винде (тем более на XP) - это вряд ли хостинг: это либо Университет, либо сервер фирмы, не занимающейся хостингом.

   
 
 автор: Odin Kg   (02.10.2004 в 19:01)   письмо автору
 
   для: cheops   (02.10.2004 в 18:47)
 

Проблема в том, что сайт неофициальный. Просто один мой знакомый работает в фирме-провайдере и держит интереса ради на личном компьютере веб-сервер. Ему со всякими настройками ковыряться и лень и некогда, поэтому, собственно, эта проблема и возникла. В общем, если я ему четко предложу решение, он конечно его применит, а иначе, неизвестно, когда у него руки дойдут.

Кстати, вот еще маленький вопросик. А как записывать числа в 16-ричной системе. Я думал, что 0x……, но почему-то результат был не такой, какой я ожидал. Т.е. когда я задавал цвета через HTML <FONT color=#00a080> был один цвет, а когда сделал $color=0x00a080, а затем подставил эту переменную в тег: print “<FONT color=$color>”; цвет на экране изменился.
Странно это. Видимо я опять чего-то не понимаю.

   
 
 автор: cheops   (02.10.2004 в 19:26)   письмо автору
 
   для: Odin Kg   (02.10.2004 в 19:01)
 

Хм... а может вам у него стрельнуть его php.ini и заменить им свой - тогда можно будет точно определить виноват php.ini или что-то другое. Если дело в нём, можно будет его здесь выложить или послать нам по почте - тогда можно было бы точно локализовать директивы которые следует поправить.

PS HTML не понимает шестнадцетиричные цифры в формате 0х, для него примемлемыми являются только шестнадцетиричные цифры, начинающиеся с диеза (#) или явное указание цвета <FONT color="green">. Это достаточно легко обойти, преобразовав $color в строку и осуществив замену:
<?php
  $color 
str_replace("0x","#",$color);
?>

   
 
 автор: Odin Kg   (04.10.2004 в 18:38)   письмо автору
 
   для: cheops   (02.10.2004 в 19:26)
 

Я взял с сервера php.ini и стал проверять его дома. Сначала у меня сессии тоже не работали, а затем я обнаружил, что если в строку session.cookie_path = вписать / (вместо d:\tmp), то всё начинает работать.
Но на Интернет-сервере использование / (пути по умолчанию) невозможно, так как сервер не имеет прав system. Получается, что нужно просто заменить путь по умолчанию на любой доступный. Проблема в том, что session.cookie_path не принимает нужный путь. Я дома пытался вписывать туда c:\temp, “c:\temp” и c:/temp – сессии тут же перестают работать, а ведь у меня Апач работает как system. Что делать-то? Может кто знает?
На всякий случай высылаю php.ini, который работает на Интернет-сервере.

   
 
 автор: cheops   (04.10.2004 в 21:31)   письмо автору
 
   для: Odin Kg   (04.10.2004 в 18:38)
 

Попробуйте так
session.save_path = "C:/tmp"

У меня дома с этим путём работает (не забывайте перегружать сервер Apache).

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=104

   
 
 автор: Odin Kg   (05.10.2004 в 17:22)   письмо автору
 
   для: cheops   (04.10.2004 в 21:31)
 

Дело не этом. Со строчкой session.save_path все в порядке. Проблема со строкой session.cookie_path. Если я дома запишу туда путь /, то сессии работают, если же я записываю другой существующий путь, то нет. Проблема в том, что на интернет-сервере, надо этот путь поменять с /, на тот, куда есть права доступа. Кстати, где этот путь по умолчанию session.cookie_path = / находится? В c:\PHP или еще где ?

   
 
 автор: cheops   (05.10.2004 в 19:07)   письмо автору
 
   для: Odin Kg   (05.10.2004 в 17:22)
 

Хм... вообще говоря очень странно, так как session.cookie_path это путь оносительно вашего домена, т.е. если у вас есть сайта http://www.mysite.ru/, с такими настройками сессии действующие через механизм cookie будут действительны в пределах всего домена, а если их ограничить директиву конкретной папкой
session.cookie_path = /company

то действовать они будут только в http://www.mysite.ru/company/ т.е. смысл такой... вообще странно, что это создаёт такие проблемы. А если вообще отключить механизм cookie в сессиях:
session.use_cookies = 0

   
Rambler's Top100
вверх

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