Fix Ниже Моя проблема не имела ничего общего с заголовками, которые уже были отправлены. Это было просто симптомом проблемы. Проблема закончилась тем, что проблема была связана с GoDaddy, поскольку папка отсутствовала на их конце.
Я редактировал имя моего вопроса, чтобы включить «сайт GoDaddy», чтобы помочь кому-то в будущем иметь такую же проблему.
По предложению @KennyPowers я назвал Go Daddy. Первоначально у меня была учетная запись Windows, и я переключился на Linux. По-видимому, папка, которую сохраняет session_start()
по умолчанию, не переносилась с остальной частью моего сайта, и вы не можете изменить папку по умолчанию … по крайней мере, на моем сайте.
GoDaddy заменил папку на их конце, и теперь все работает нормально
Оригинальный вопрос:
Я мог бы немного помочь с помощью session_start ()
Поток сайта:
Все страницы находятся в одном домене, поэтому я пытаюсь сделать это с помощью session_start ()
Это то, что я пытался:
<?php // page2.php session_start(); echo 'Welcome to page #2'; $_SESSION["guest1Last"] = $_POST["guest1Last"]; $_SESSION["guest1First"] = $_POST["guest1First"]; $_SESSION["guest1Middle"] = $_POST ["guest1Middle"]; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Title</title> // more HTML and PHP stuff down here
<?php // page3.php session_start(); echo 'Welcome to page #3<br />'; echo $_SESSION["guest1First"]; echo $_SESSION["guest1Middle"]; echo $_SESSION["guest1Last"]; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> // more HTML and PHP stuff down here
Это предупреждения, которые я получаю при загрузке страницы 2 (то же самое на стр. 3)
Warning: session_start() [function.session-start]: open(/var/chroot/home/content/08/10125908/tmp/sess_3dt4c7etqd6hr28dls0bludiv4, O_RDWR) failed: No such file or directory (2) in /home/content/08/10125908/html/_php/page2.php on line 4 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/08/10125908/html/_php/page2.php:4) in /home/content/08/10125908/html/_php/page2.php on line 4 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/08/10125908/html/_php/page2.php:4) in /home/content/08/10125908/html/_php/page2.php on line 4 Welcome to page #2 Warning: Unknown: open(/var/chroot/home/content/08/10125908/tmp/sess_3dt4c7etqd6hr28dls0bludiv4, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0
Часть «заголовки уже отправлены» заставляет меня думать, что session_start () находится не в нужном месте на странице, но вверху, где я считаю, что это должно быть. Тем не менее, очевидно, что « Нет такого файла или каталога », где проблема начинается, по очевидным причинам. Я был бы очень признателен, если бы кто-нибудь мог указать мне в сторону того, что я делаю неправильно.
РЕДАКТИРОВАТЬ
<?php session_start(); ini_set('session.save_path', '/var/chroot/home/content/08/10125908/html/tmp'); echo 'Welcome to page #1'; $_SESSION["guest1Last"] = $_POST["guest1Last"]; $_SESSION["guest1First"] = $_POST["guest1First"]; $_SESSION["guest1Middle"] = $_POST ["guest1Middle"]; ?>
ini_set('session.save_path', '/var/chroot/home/content/08/10125908/html/tmp');
session_save_path('/home/content/04/8260904/html/tmp');
сохранил его как php.ini и загрузил его в мой корень session_save_path('/home/content/04/8260904/html/tmp');
сохранил его Я все еще получаю ту же ошибку
Warning: session_start() [function.session-start]: open(/var/chroot/home/content/08/10125908/tmp/sess_3659a32a50e33e5f918a9e39d70a1668, O_RDWR) failed: No such file or directory
Я не правильно настроил папку?
Настройка моей папки сейчас
По предложению @KennyPowers я назвал Go Daddy. Первоначально у меня была учетная запись Windows, и я переключился на Linux. По-видимому, эта папка не переносилась с остальной частью моего сайта, и вы не можете изменить папку по умолчанию … по крайней мере, на моем сайте.
Проблема в том, что у вас нет tmp. Первая ошибка говорит об этом:
Warning: session_start() [function.session-start]: open(/var/chroot/home/content/08/10125908/tmp/sess_3dt4c7etqd6hr28dls0bludiv4, O_RDWR) failed: No such file or directory (2) in /home/content/08/10125908/html/_php/page2.php on line 4
Вот почему сессия не может начаться. См. « … failed: нет такого файла или каталога (2) в .. "
Вам необходимо создать /var/chroot/home/content/08/10125908/tmp/
и установить права на чтение и запись в этом каталоге. Вы можете изменить директиву temp temp, используя следующую функцию из вашего php-скрипта:
ini_set('session.save_path', '/session/directory/goes/here');
Предупреждения, которые вы получаете после этого, говорят вам, что некоторые данные были отправлены обратно в ваш браузер – это был первый предупреждающий текст. Он будет исправлен сразу после устранения проблемы с каталогом tmp.
У PHP проблемы с записью данных в файлы сеанса. Вы должны проверить свои настройки сеанса и убедиться, что необходимые разрешения установлены на стороне файловой системы.
Warning: session_start() [function.session-start]: open(/var/chroot/home/content/08/10125908/tmp/sess_3dt4c7etqd6hr28dls0bludiv4, O_RDWR) failed: No such file or directory (2) in /home/content/08/10125908/html/_php/page2.php on line 4
в отношении уже отправленных ошибок заголовков : из-за уровня отчетности об ошибках было создано предупреждение при попытке записать данные сеанса. Это автоматически сгенерированное предупреждение является триггером для уже отправленных ошибок заголовков. Исправьте проблему с разрешением, и она должна исчезнуть.
Каталог PHP пытается использовать для хранения информации о сеансе либо не существует, либо не может быть записан.
Справочник:
/var/chroot/home/content/08/10125908/tmp/
Это местоположение задано в PHP.ini
как session.save_path
.
Вы должны убедиться, что этот каталог существует и доступен для записи пользователем, на котором работает PHP.
Вероятно, у вас есть функция ountput перед session_start();
пожалуйста, проверьте любой текст (включая пробелы перед session_start();
он должен быть первым в вашем документе.
Проблема в том, что сеансы PHP в настоящее время не работают на вашем сервере, и cookie не может быть установлен. PHP-сервер не разрешает запуск сеанса, и ошибка заключается в том, как вы узнаете. Ошибка сообщает вам, что она не может открыть временную папку временного сеанса, потому что папка не существует.
Пожалуйста, проверьте эту ссылку: http://tclayson.com/2012/03/08/how-to-fix-error-warning-session_start-function-session-start-openpathtofile-o_rdwr-failed-permission-denied-13-in -pathtoscript-php-on- line – line -2 /