Я создаю веб-сайт в php. После его завершения я загрузил все на сервере. Страница работала нормально в локальном хосте. Но после загрузки, страница даже не загружается. В верхней части каждой страницы я включил страницу с именем startsession.php. содержимое этой страницы выглядит следующим образом:
session_start(); header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
Если я удалю session_start, он работает нормально. Подробности ошибки заключаются в следующем:
Страница, в которой произошла ошибка — Неизвестно
Нет строки, в которой произошла ошибка. 0
Подробности об ошибке — Unknown (): open (/ tmp / sess_723d94fdc8ae3569b1a641fd8799ece9, O_RDWR) не удалось: нет такого файла или каталога (2)
Код ошибки — 2.
пожалуйста, помогите мне
Проверьте и убедитесь, что путь (/ tmp) доступен для записи пользователем, работающим на веб-сервере, поскольку это может быть проблема с разрешениями. Кроме того, вам нужно использовать функцию header () ПЕРЕД началом использования session_start, как указано в документации:
http://php.net/manual/en/function.session-start.php
Поскольку session_start может фактически отправлять HTTP-заголовки. Кроме того, всегда убедитесь, что вы используете 100%:
error_reporting (E_ALL)
Вы можете использовать свой собственный каталог, в котором хранится сеанс.
Поместите ниже код выше session_start (); код.
$sessdir = dirname(dirname(__FILE__)).'/session_dir'; ini_set('session.save_path', $sessdir);
Наслаждаться!!!!!!!!!!
Убедитесь, что / tmp / существует и что у сервера есть разрешение на запись там.
Если ничего не работает, попробуйте очистить / tmp /.
У меня была другая проблема – никаких ошибок, но сеансы не работали после установки php / apache в linux. Я потратил несколько часов на изучение этого и, наконец, решил проблему, просто удалив содержимое / tmp.
Благодаря KramerC