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

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

Предупреждение: 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. Какие-либо идеи?

5
задан Daniel 13 January 2010 в 17:53
поделиться

4 ответа

Пожалуйста, убедитесь, что разрешения / 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";
4
ответ дан 14 December 2019 в 13:37
поделиться

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

1
ответ дан 14 December 2019 в 13:37
поделиться

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

0
ответ дан 14 December 2019 в 13:37
поделиться

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

#umask 644

Теперь все в порядке.

1
ответ дан 14 December 2019 в 13:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: