Alnik-75
Продвинутый
Дата регистрации:
07.02.2012 11:45:49
Сообщений: 48
Добрый день!!!! Иногда почему то возкникает вот такая проблема.
Warning: session_start() [function.session-start]: open(/tmp\sess_b36f46fe127b0fe38da41ec27c982a32, O_RDWR) failed: Permission denied (13) in W:\home\localhost\www\Arena\user_profile\region\select_oblast.php on line 2
Приведу код файла select_oblast.php
<?php
session_start();
if(isset($_POST['oblast']) and isset($_POST['id_oblast']))
{
$_SESSION['oblast']=iconv('UTF-8','windows-1251',$_POST['oblast']);
$_SESSION['id_oblast']=$_POST['id_oblast'];
}
echo $_SESSION['oblast'];
?>
Это случается иногда. Обновляю страницу и все уже хорошо
В чем может быть проблема?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Такая ошибка может возникать из-за того, что нет прав на запись в директории tmp сервера. Что довольно странно, учитывая что предупреждение возникает не каждый раз. Видимо какие-то проблемы с сервером.
Alnik-75
Продвинутый
Дата регистрации:
07.02.2012 11:45:49
Сообщений: 48
причем эта проблема всегда возникает именно вот в каком месте. У меня есть три динамически формируемые формы селект область-район-город. После заполнения всех трех форм, с помощью аякса в обработчики передаются значения форм, где они они преобразуются в элементы массива $_SESSION. Далее формы исчезают и вместо них появляются ссылочки с указанием области, района и города, где и вставляются указанные выше элементы $_SESSION. И именно здесь редко, но все же возникает эта проблема. Сайт на локалке пока. Как я уже писал ранее, обновляю страницу и проблем уже нет. Что-нибудь серьезное может быть? или так глюки Денвера?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Трудно сказать, главное чтобы на хостинге такая же ошибка не появлялась.
Alnik-75
Продвинутый
Дата регистрации:
07.02.2012 11:45:49
Сообщений: 48
Михаил! Я что то читал про то, что сессии стартовать можно не только в начале страницы, но и в любом месте, но для обеспечения такой работы есть специальные функции в PHP. Не подскажите в каком направлении рыть. Тогда эта проблема у меня и решится
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Можно, хотя суть от этого не особо меняется - всё равно ничего нельзя выводить до того, как выполнится session_start. Решается это с помощью буферизации вывода перед сессией.
Alnik-75
Продвинутый
Дата регистрации:
07.02.2012 11:45:49
Сообщений: 48
файлы, где формируются сессионные переменные с наименованием города, района или области, с помощью метода load подключаются к основному файлу. Соответственно, в основном файле session_start. Если не стартануть сессии в этих файлах, данные все равно при подключении их к основному документы подгрузятся, но не будут занесены в сессию. Я думаю проблема из множественности session_start в этих всех файлах:основном и подключаемых. Я прав?
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Может быть, хотя обычно в подобных случаях выходит другая ошибка, связанная с уже отправленным header.