Я пытаюсь инициализировать сеанс, но я получаю эту ошибку:
Предупреждение: 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, удалив ее, проблема была решена. Спасибо за ответы.