PHP Session не содержит переменные [duplicate]

Помимо параметров error_reporting и display_errors ini, вы можете получить ошибки SYNTAX из файлов журнала вашего веб-сервера. Когда я занимаюсь разработкой PHP, я загружаю журналы своего веб-сервера системы разработки в свой редактор. Всякий раз, когда я проверяю страницу и получаю пустой экран, файл журнала устаревает, и мой редактор спрашивает, хочу ли я перезагрузить его. Когда я это делаю, я прыгаю на дно и появляется синтаксическая ошибка. Например:

[Sun Apr 19 19:09:11 2009] [error] [client 127.0.0.1] PHP Parse error:  syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\\webroot\\test\\test.php on line 9
10
задан Arihant 30 October 2013 в 21:28
поделиться

9 ответов

Я также столкнулся с той же проблемой, я сделал следующие шаги для решения проблемы

  1. Я редактировал файл /etc/php.ini и искал путь session.save_path = "/ var / lib / php / session "вы должны предоставить свою информацию о сеансе

2 После этого просто изменилось разрешение, приведенное ниже * chown root.apache / var / lib / php / session * Это все , Эти шаги устраняют мою проблему

0
ответ дан Aman Shukla 21 August 2018 в 10:30
поделиться

Возможно, если ваш путь сеанса работает неправильно, вы можете попробовать session.save_path(path/to/any folder); как альтернативный путь. Если он работает, вы можете спросить своего хостинг-провайдера о проблеме с пути по умолчанию.

3
ответ дан Andrey Moiseev 21 August 2018 в 10:30
поделиться

Просто поговорил с услугой хостинга, это была проблема в их конце. он сказал: «Ваша учетная запись session.save_path не была установлена, поскольку возникла проблема. Я установил ее для вас сейчас».

И после этого она работает отлично:)

1
ответ дан Arihant 21 August 2018 в 10:30
поделиться

Если вы используете скрипт подключения, не забудьте использовать session_start(); в соединении тоже, некоторые проблемы перед тем, как заметить эту проблему.

23
ответ дан Community 21 August 2018 в 10:30
поделиться
  • 1
    возможно, это ошибка сервера? Я попробовал самые основные тестовые примеры: session.php & lt;? php session_start (); // хранить данные сеанса $ _SESSION ['views'] = 1; Заголовок ( 'Location: session2.php'); ? & GT; session2.php: & lt;? php session_start (); // извлечение эхо-данных сеанса & quot; Pageviews = & quot ;. $ _SESSION [ 'вид']; ? & GT; – Arihant 30 October 2013 в 22:13
  • 2
    У меня такая же проблема. Причина: свободного места на диске не было! – Cuarcuiu 30 November 2015 в 18:12
  • 3
    такая же проблема для меня. Я пытаюсь распечатать страницу с помощью Google Cloud, но сеанс закрыт / очищен. как исправить это – Karthi 28 February 2017 в 13:44
  • 4
    Относительно # 4: эта функция была DEPRECATED с PHP 5.3.0 и удалена с PHP 5.4.0. php.net/manual/en/security.globals.php – Chiwda 28 August 2017 в 09:47

Сегодня я столкнулся с этой проблемой. проблема связана с $ config ['base_url']. Я заметил htpp: //www.domain.com и http://example.com . для исправления всегда устанавливайте base_url на http://www.example.com

0
ответ дан Devqxz 21 August 2018 в 10:30
поделиться

Другая важная причина, по которой сеансы не могут работать, воспроизводится с настройками cookie сеанса, например. время жизни cookie сеанса до 0 или других низких значений из-за простой ошибки или другого разработчика по какой-либо причине.

session_set_cookie_params(0)
1
ответ дан Jacek Dziurdzikowski 21 August 2018 в 10:30
поделиться

У меня была аналогичная проблема и с доменом cookie:

    ini_set('session.cookie_domain', '.domain.com');

домен был настроен неправильно, поэтому все сеансы были проигнорированы, потому что пользовательский файл cookie никогда не устанавливался правильно, надеюсь, что это поможет кому-то.

0
ответ дан talsibony 21 August 2018 в 10:30
поделиться

У меня была такая же проблема на некоторое время, и мне было очень сложно ее понять. Моя проблема заключалась в том, что у меня был сайт, работающий некоторое время, когда сессии работали правильно, а затем все внезапно все сломалось.

По-видимому, ваш session_save_path (), для меня это было / var / lib / php5 /, должны иметь правильные разрешения (пользователь, на котором запущен php, например, www-data нуждается в доступе на запись в каталог). Я случайно изменил его, полностью разбив сессии.

Запустите sudo chmod -R 700 /var/lib/php5/, а затем sudo chown -R www-data /var/lib/php5/, чтобы пользователь php имел доступ к папке.

8
ответ дан Vadman 21 August 2018 в 10:30
поделиться
  • 1
    777 - это плохой набор разрешений для папки сохранения сеанса. Вам необходимо изменить права собственности на папку, чтобы веб-сервер мог ее записать и предотвратить доступ ко всем другим. – user2182349 10 August 2015 в 12:28
  • 2
    HOOOOLY SHIT человек, все лучшее в вашей жизни, я буквально плакал, потому что я не мог получить сеанс на следующей странице. – Rok Dolinar 31 March 2016 в 20:09
23
ответ дан Community 1 November 2018 в 04:42
поделиться
Другие вопросы по тегам:

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