Проблема с разрешением сеанса PHP

Я пытаюсь инициализировать сеанс, но я получаю эту ошибку:

Предупреждение: session_start () [function.session-start]: open (/ tmp / sess_7af3ee9ec1350680bedcf63833d160bd, O_RDWR) не удалось: разрешение отклонено (13)

Для параметра session.path установлено значение / tmp с 777 пермами.

Я пытаюсь изменить session.path на «0; 777; / tmp», но файлы сеанса создаются с неправильными разрешениями (только для записи).

Я использую PHP 5.2 на apache2 и ubuntu 9.10. Есть идеи?

Убедитесь, что разрешения / tmp действительно являются xx777

<?php error_reporting(E_ALL); ini_set('display_errors', 1); $s = stat('/tmp'); printf('%o', $s[2]); file_put_contents('/tmp/phptest1234.txt', 'test'); unlink('/tmp/phptest1234.txt'); 

edit: следующая попытка, umask

 <?php echo ' php-umask: ', sprintf('%o', umask()), "\n"; echo ' exec-umask: ', exec('umask'), "\n"; 

Похоже, что у вас нет прав на запись в каталог tmp , вам нужно предоставить разрешения на сохранение файла.

У меня тоже была эта проблема. В / etc / sysconfig / httpd была строка, которая неправильно установила umask, поэтому я прокомментировал это:

 #umask 644 

Теперь все хорошо.

Я разрешаю проблему, была сторонняя библиотека, которая устанавливает неправильный umask на 777, удалив ее, проблема была решена. Спасибо за ответы.