|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
Добрый день. Неделю назад возникла проблема: между файлами php на всех моих сайтах перестали передаваться значения сессии. Раньше всё работало, код не меняла вообще. Переходы между файлами осуществляются, а значения сессий не перекидываются: листинг: файл 1: <?php session_start(); $_SESSION['accessgate']='111'; header("Location: /temp.php"); exit; ?> Браузер перекидывает меня на temp.php, но значение $_SESSION['accessgate'] там пустое. Листинг temp.php <?php session_start(); if (empty($_SESSION['accessgate']) { print $_SESSION['accessgate']; } ?> ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 09:25 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
Лиза Зайчикперестали передаваться значения сессииСессия передается традиционно, через куки? Посмотрите, не запрещено ли в браузере принимать/хранить куки с данного сайта. Включите вывод сообщений об ошибках. Возможно, до session_start() затесался какой-то вывод, в том числе и нечитаемый, включая перевод строки или BOM. Лиза ЗайчикБраузер перекидывает меня на temp.php, но значение $_SESSION['accessgate'] там пустое. Листинг temp.php <?php session_start(); if (empty($_SESSION['accessgate']) { print $_SESSION['accessgate']; } ?>В переводе на русский язык это звучит примерно так: если переменная отсутствует или null - то напечатать ее значение (отсутствующее, разумеется), а если в переменной что то есть - то ничего не делать. Разумеется, в любом случае Вы ничего не увидите. Особенно, если отключен вывод сообщений об ошибках. Здесь в коде явная ошибка. Используйте для просмотра var_dump() без условия. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 09:45 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
vkle, сессии передаются традиционно. Внезапно, без изменений, перестали работать на всех трёх сайтах. Причем: если в первом файле я объявляю сессию, она выводится: файл 1: <?php session_start(); $_SESSION['accessgate']='111'; print $_SESSION['accessgate']; ?> если же сессию перекидываю во второй файл, то даже обычный print $_SESSION['accessgate']; (без условий) там не работает. В браузере ограничений нет, проверяла на разных устройствах, в т.ч. и в другом городе. Подскажите пожалуйста, как, что и где нужно написать, чтобы вывести отчёт об ошибках? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 09:49 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
vkle, нашла рецепт как вывести ошибки на экран. получила ответ: Notice: Undefined index: accessgate in /temp.php on line 6 Листинг temp.php <?php session_start(); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); ini_set('error_reporting', E_ALL); print 'Ошибки:'; print $_SESSION['accessgate']; ?> ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 10:03 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
Лиза ЗайчикUndefined index: accessgateПонятно, переменной нет. Только ошибки нужно смотреть не только на приеме данных сессии, но и на инициации. И включать вывод ошибок следует до старта сессии, а не после. Иначе ошибку старта сессии не увидите. Вообще, можно временно в php.ini прописать настройки, тогда они будут действовать на все файлы. Лиза ЗайчикВнезапно, без изменений, перестали работать на всех трёх сайтах.Без изменений и перестала - так не бывает. Что-то изменилось. Либо в коде, либо в настройках или состоянии сервера. Что и где изменилось - это Вам и предстоит найти. Посмотрите в выводе phpinfo(), включена ли поддержка сессий. Гипотетически, ее могли выключить или она могла "сломаться" при обновлении или настройке ПО. Если сессии хранятся традиционно, в файлах - посмотрите наличие свободного места на диске и наличие свободных inode. Если в базе - соответственно, ее состояние. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 10:22 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
vkle, спасибо за поддержку. Увидела ошибку: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock Но тут мне стало страшно: сайты лежат на сервере организации, который построен на Debian Linux, его создавал сотрудник, которого три года назад уволили. Кроме него, никто не знает как этот сервер работает. У меня есть терминальный доступ к нему, но все что я умею, это удалять файлы через mc, чистить очередь почты, и создавать (по инструкции пользователей). Помыкалась в Интернете, нашла совет перезагрузки сервера, получила вот такую ошибку(картинку приложила). Попыталась зайти через phpmyadmin - логин и пароль не подходят. Логин рутовый, пароль тоже. Пароль не меняли. Помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 11:06 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
эээ... а почему mysq K mysql D , а ищете grep mysql??? Код: powershell 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 12:23 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
TolikD, я влинуксе почти ничего не понимаю. Мне написали, что место кончилось в коневой файловой системе, а как его почистить, я ума не приложу ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 13:13 |
|
Перестали передаваться значения сессии PHP
|
|||
---|---|---|---|
#18+
Спасибо всем. почистила логи, освободила место, все заработало. всех обнимаю.! спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 14:40 |
|
|
start [/forum/topic.php?fid=23&msg=39874472&tid=1459843]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 402ms |
0 / 0 |