Здесь на самом деле две ошибки. Первая - ошибка импорта gssapi; вторая ошибка во время gc / del (self._sock AttributeError). Вторая ошибка - просто ошибка. Мы исправим это в следующем выпуске. Но, если вы исправите ошибку импорта gssapi, этого второго AttributeError не должно произойти.
Итак, какую библиотеку gssapi вы установили? Можете ли вы сделать это в своей среде:
from gssapi.raw.misc import GSSError
Похоже, вы установили более старый / устаревший модуль python-gssapi. Вы хотите этот: https://pypi.org/project/gssapi/ (не этот: https://pypi.org/project/python-gssapi/ ) [ 115]
Идентификатор сессии нужно нести вперед в некотором роде, чтобы та же сессия могла использоваться более чем несколько страниц. В целом это сделано с cookie (см. session.use_cookies
) но это может также быть сделано в URL или в формах (см. session.use_trans_sid
).
Настолько сначала необходимо удостовериться, что идентификатор сессии передается так, чтобы PHP мог загрузить правильные данные сессии и сессии.
См. также мое понимание корректных сессий PHP?
session_register()
не требуется и может вызывать проблему здесь. Прочитайте документы о session_register()
- это предназначается для присвоения переменных сеанса с помощью существующих переменных.
и отсюда:
Ну, session_register () говорит PHP, что определенную глобальную переменную нужно считать переменной сеанса. Это означает, что в конце выполнения сценария (который является, когда записи данных сессии обычно происходят), получающееся значение той глобальной переменной будет записано с помощью текущих включенных обработчиков сессий.
Я думаю, что это - проблема, которую Вы испытываете. В конце выполнения сценария перезаписывается переменная сеанса.
Одна ошибка, которую я вижу, состоит в том, что в первом файле Вы устанавливаете $_SESSION['textvar']
и во втором файле Вы звоните $_SESSION['newvar']
.
Кроме того, я протестировал Ваш код сервера, который я знаю, работает, и он хорошо работал кроме вышеупомянутой ошибки.
Я также пытался удалить session_register()
и код все еще работает отлично.
"session_register () принимает переменное количество аргументов, любой из которых может быть или строкой, содержащей название переменной или массивом, состоящим из имен переменной или других массивов. Для каждого имени, session_register () регистрирует глобальную переменную в том имени на текущей сессии".
потому что у Вас нет переменных с теми именами, результат будет непредсказуемый.
просто используйте $_SESSION[$key] = $value;
Если все вышеупомянутое не решит проблему, то я просто спрошу очевидное: не было бы никаких пробелов или новых строк перед вводным тегом PHP?
Можно также проверить на сообщения в файле регистрации ошибок сервера, который должен сказать Вам, определяются ли Ваши переменные (хотя я предполагаю, что это зависит на уровне сообщения об ошибке также).
Используйте некоторый инструмент и проверьте http заголовки, таким образом, Вы видите, как cookie отправляется. Возможно, Ваш веб-сервер настроен мисс и отсылка cookie с недопустимым другим доменом.
Вы могли бы хотеть посмотреть на выполнение session_set_cookie_params () по каждому запросу и проверке корректный домен, путь и такой установлены.
Используйте session_register в обоих файлах, и он должен работать.