Я пытаюсь инициализировать сессию, но я получаю эту ошибку:
Предупреждение: session_start () [function.session-запускаются]: открытый (/tmp/sess_7af3ee9ec1350680bedcf63833d160bd, O_RDWR) перестал работать: Разрешение отклонило (13)
session.path установлен на/tmp с 777 перманентом.
Я пытаюсь отредактировать session.path к "0; 777;/tmp", но файлы сессии создаются с неправильными полномочиями (только запись).
Я использую PHP 5.2 на apache2 и человечности 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');
Редактирование: Следующая попытка, UMASK
<?php
echo ' php-umask: ', sprintf('%o', umask()), "\n";
echo ' exec-umask: ', exec('umask'), "\n";
Похоже, у вас нет прав для записи в каталог TMP
, вам нужно предоставить ему разрешения для сохранения файла.
Я решаю проблему, произошла сторонняя библиотека, которая устанавливает неправильный UMASK до 777, удаляя его, что проблема была решена. Спасибо за ответы.
У меня тоже была такая проблема. В /etc/sysconfig/httpd была строка, которая неправильно устанавливала umask, поэтому я ее закомментировал:
#umask 644
Теперь все в порядке.