Ошибка PHP session_start

Я пытаюсь начать сеанс на странице заголовка моего веб-сайта. Но, похоже, может быть какая-то ошибка, потому что она завершается со следующей ошибкой:

Warning: session_start() [function.session-start]: open(\xampp\tmp\sess_a7430aab4dd08d5fc0d511f781f41fe5, O_RDWR) failed: No such file or directory (2) in D:\Development\PHP\tt\Include\header.php on line 3

Я использую настройки по умолчанию для xampp, все прямо из коробки. Почему-то не открывается файл. однако, когда я перехожу в каталог с файлами сеанса, файлы есть, они просто пусты. Это ошибка? или я что-то не так делаю?

php версии 5.2.8


person The.Anti.9    schedule 22.03.2009    source источник
comment
@SHOBAN Я не думаю, что при вызове session_start() можно что-то сделать, что может вызвать эту ошибку, нет необходимости видеть код.   -  person UnkwnTech    schedule 22.03.2009


Ответы (3)


Это означает, что у вас нет необходимых прав для чтения или записи файлов во временном каталоге.

Если вы на линуксе, то сделайте это

sudo chmod -R 755 \xampp\tmp //or should it be 775

В винде делайте это от имени администратора

attrib -r -a C:\xampp\tmp /S
person UnkwnTech    schedule 22.03.2009
comment
Это выдавало мне ошибку «файл не найден», поэтому я добавил /D в конце, и все прошло. К сожалению, это не решило проблему - person The.Anti.9; 22.03.2009
comment
Если я щелкну правой кнопкой мыши папку и перейду к свойствам, будет проверено только чтение. Но если я сниму флажок, нажму «Применить», а затем щелкну правой кнопкой мыши и вернусь к свойствам, он снова будет проверен. - person The.Anti.9; 22.03.2009
comment
Чем у вас, вероятно, нет надлежащих привилегий для изменения разрешений. - person UnkwnTech; 22.03.2009
comment
Я вошел в систему как администратор. Я решил проблему, изменив каталог, который он использует в php.ini. - person The.Anti.9; 23.03.2009

Сначала остановите сервер Xampp.

session.save_path = "\xampp\tmp"

и измените его, чтобы он выглядел так

session.save_path = "C:\xampp\tmp"

Перезапустите сервер Xampp.

Вот и все, теперь ваша сессия должна работать как положено.

person Selular88    schedule 28.10.2012
comment
Проблема в том, что каталог должен существовать. - person quantum; 28.10.2012
comment
На этот вопрос уже есть принятый ответ. Если ваш ответ не добавляет соответствующую информацию или не исправляет ошибку, обнаруженную в текущих ответах, вы не должны публиковать ответ. - person Madara's Ghost; 28.10.2012
comment
@MadaraUchiha К принятому ответу есть комментарий, в котором говорится, что он не решил проблему. Поэтому добавление действительно работающего ответа не должно быть ошибкой. - person Tarnschaf; 28.01.2013
comment
Принятый ответ не решил мою проблему, в отличие от этого поста. Так что палец вверх для этого. - person Sgali; 13.02.2013
comment
Как и для Sgali, это исправило это для меня (хорошо, я изменил каталог на путь вне C: \, но все же спасибо за подсказку!) - person tim; 16.12.2013
comment
Это настоящее решение. Я столкнулся с этой проблемой после запуска приложения (виртуального хоста) на диске (F:), отличном от того, на котором установлен xampp (C:). Затем xampp искал папку сеанса на диске F:. - person Lennon; 11.11.2014

Как упоминал Selular88, добавление пути работает и устраняет эту проблему. Вы также можете проверить путь, используя

// This will output your current path.
echo session_save_path() ;
person Dexter    schedule 07.05.2018