У меня есть страница WordPress, которая перенаправляет на внешнюю страницу, которая затем перенаправляет обратно на страницу на моем сервере.
страница 1
<?php
session_start();
include('../../../wp-load.php');
$varPostData = $x. '|' . $y. '|' . $z. '|' . $a. '|' . $b. '|' . $c. '|' . $d. '|' . $e. '|' . $f. '|' . $g. '|' . $h. '|' . $i. '|' . $j. '|' . $k;
$_SESSION['PostData'] = $varPostData;
//some redirect code
exit();
страница 2
<?php
session_start();
$PostDataArray = explode('|', $_SESSION['PostData']);
На первой странице у меня есть данные, хранящиеся в переменной SESSION, и я хочу прочитать их на второй странице моего сервера после того, как пользователь будет перенаправлен обратно на мою страницу.
Моя настройка работает (была работает больше года), но иногда, может быть, раз в 50 это просто не работает. Данные не передаются на новую страницу из сессии, она пуста. Что странно, так это то, что данные находятся в файле сеанса на сервере, но они просто не читаются страницей.
Эта "ошибка" в последнее время усилилась. Если раньше это случалось редко (например, один раз в 50 или 100 раз), то теперь это происходит один раз в шесть раз.
Это заставляет меня подозревать, что это связано с конфигурацией сервера. Я на Ubuntu с php 5.6 и , вот часть моего php .ini, которая связана с сессиями .
Я сбит с толку, так как не знаю, с чего начать и более того, я не могу воспроизвести проблему, я просто знаю, что это происходит.
Я прошел этот контрольный список, и все проверяется
- session_start (); вызывается в верхней части страницы, без пробелов, без ничего
- завершить скрипт с помощью exit (); после перенаправления
- это WordPress с логином, поэтому пользователи не смогут войти в систему, если не было файлов cookie
- register_globals не существует в php 5.6, поэтому я не думаю, что это применяется?
- Я убедился, что сессия не удалена или не очищена (это там, где файл существует в / var / lib / php /)
- Я убедился, что суперглобальная переменная $ _SESSION не удаляется.
- Я перенаправляю на тот же домен с www*1038*
- мои расширения php (это работает большую часть времени)
Кроме того, я проверил журналы доступа, и между этими двумя страницами не было запрошено никакой другой страницы / ресурса (так что никаких разных сеансов).
Чего мне не хватает? Любая подсказка будет полезна.