Предупреждение о предупреждении PHP (13) на session_start()
Возможный дубликат:
Как я могу исправить ошибку разрешения при вызове session_start()?
Я получаю следующую ошибку:
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_49a20cbe1ef09a2d0262b3f7eb842e7b, O_RDWR) failed: Permission denied (13) in /home/------/public_html/includes/libs/ss.inc.php on line 1
Проблема не происходит все время, но приходит и уходит.
Этот код в строке по 1 в ss.inc.php
<?php session_start(); ?>
Ответы
Ответ 1
У вас нет права на запись в каталог /tmp
на вашем сервере. Это немного странно, но вы можете обойти это. Перед вызовом session_start()
введите вызов session_save_path()
и укажите ему имя каталога, доступного для записи сервером. Подробности здесь.
Ответ 2
выполните phpinfo() и найдите session.save_path. в каталоге должны быть правильные разрешения для пользователя и/или группы, которые ваш веб-сервер работает как
Ответ 3
Кажется, у вас нет разрешения WRITE на /tmp
.
Измените конфигурационную переменную session.save_path с помощью функции session_save_path() до 1 выше public_html
(так что внешние пользователи не получили бы доступ к информации).
Ответ 4
У меня была эта проблема раньше, вам нужно больше стандартного разрешения 755
или 644
для хранения информации $_SESSION
. Вы должны иметь возможность писать в этот файл, как это помнит.
Ответ 5
У PHP нет разрешений на запись в каталог /tmp. Вам нужно использовать команду chmod
для открытия/tmp-разрешений.