Переменные сеанса на разных языках и файлы cookie
В попытке начать программирование на PHP с классического ASP я решил преобразовать очень большой, старый, онлайн-проект ASP по частям, пока я, наконец, не завершил все это и не выучил PHP.
Я наткнулся на раздел, в котором довольно часто используются переменные сеанса и файлы cookie. Страницы, прикрепленные к этому разделу, еще не были преобразованы, и я не могу преобразовать их в течение некоторого времени. Прежде чем я перейду к преобразованию этого раздела и уничтожу все мои сеансы/доступ пользователей, мне интересно будет ли переменная сеанса или файл cookie, установленный на моей странице ASP, читаться на преобразованных страницах PHP и наоборот?
Я думаю, что запрос файлов cookie будет в порядке, но я не уверен, есть ли какие-либо последствия при использовании сеансов. Пожалуйста, посоветуйтесь.
3 answers
Алекс прав насчет файлов cookie; однако сеансы более сложны. Данные сеанса хранятся на стороне сервера, и разные языки, вероятно, хранят их по-разному.
Однако это все еще возможно сделать; вам просто нужно, чтобы два приложения использовали одно и то же хранилище данных сеанса. Это может быть так же просто, как настроить PHP и ASP для хранения сеансов в базе данных SQL. Но они, вероятно, не используют один и тот же формат для хранения данных сеанса в базах данных, так что вы можете в конечном итоге необходимо написать пользовательские обработчики хранилища сеансов для одного или другого.
Тогда все, что вам нужно сделать, это убедиться, что оба приложения считывают идентификатор сеанса с одного и того же имени файла cookie, так как это также отличается от языка к языку.
Файлы cookie, да, они будут доступны.
Сеансы, я не знаю, как ASP обрабатывает свои сеансы, но я не думаю, что PHP может обрабатывать их напрямую.
Что вы можете сделать в своем скрипте ASP, так это создать файлы сеансов для PHP
Изучите , как PHP обрабатывает сеансы, и создайте файлы сеансов в папке сеанса. Однако может быть сложно кодировать/сериализовать все эти значения. Сеансы PHP не сериализуются функцией serialize(). У них есть свой собственный обработчик , который может зависеть от вашей конфигурации.
PS: Сеансы длятся только до тех пор, пока клиент не закроет браузер. Я говорю, не беспокойтесь о них и активируйте PHP-страницы, когда вы полностью закончите клонировать скрипт. Если вы хотите запускать сценарии, написанные на обоих языках, и передавать данные между ними, используйте файлы cookie вместо сеансов, потому что файлы cookie сохраняются на компьютере клиента и читаются с обеих платформ.
Да.
Файлы cookie - это сервер/заголовок (браузер пользователя, взаимодействующий с вашим сервером), поэтому файл PHP и файл ASP смогут изменять/редактировать все файлы cookie домена (при условии, что они находятся в одном домене, конечно).