Intereting Posts
извлечение содержимого из pdf с помощью PHP PHP – Как объединить / объединить несколько PDF-файлов Как включить расширения для oci8 (Oracle) в php.ini – PHP Warning: PHP Startup: in Unknown on line 0 Корзина товара `View Cart Items 'Страница не является Paginating правильно Как обновить сеанс во время запроса POST? Как имитировать более одного запроса (то есть 4000 или более) на одной странице для проверки производительности? Получение одной строки только с MySQLi Вывод всех ошибок PHP в базу данных not error_log PHP конвертирует десятичную дробь и обратно? Есть ли способ увидеть подготовленный запрос, поскольку он будет выполнен в базе данных? Идентификация идентификатора пользователя php не работает Как установить PHP mbstring на CentOS 6.2 Regexp для извлечения всех ссылок и якорных текстов из HTML Миграция Laravel: уникальный ключ слишком длинный, даже если указан Pinging ip с портом, ничего не возвращает, PHP / APACHE

Сессия cookie и www

Я бы хотел, чтобы моя сессия работала на моем веб-сайте при использовании www. И когда он не используется. Я прочитал эту тему: PHP cookie problem – www или без www

И это сработает, но я не создаю куки здесь, а сеансы. Как я могу это решить? Также обратите внимание, что я не знаю, в каком домене будут запускаться мои скрипты, поэтому жесткая кодировка домена не является вариантом.

Есть ли способ сделать это?

спасибо

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

Solutions Collecting From Web of "Сессия cookie и www"

Используйте функцию session_set_cookie_params перед вызовом session_start, он позволяет вам установить домен сеанса и другие вещи, установить домен в свой домен с префиксом a. чтобы сеанс был доступен и для субдоменов.

Вы можете отразить php.ini для этого. Добавьте это в php.ini, чтобы файл cookie сессии был сохранен в месте, доступном с или без www

 session.cookie_domain = .example.com 

Вы также можете попробовать альтернативу сделать это

 ini_set("session.cookie_domain", ".example.com"); 

И вы можете получить имя хоста, используя переменную $_SERVER['HTTP_HOST'] .

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

http://php.net/manual/en/session.configuration.php

Использование правильного имени хоста во всех запросах важно для сеансов. Однако, если вы собираетесь получать доступ к куки-файлам через несколько поддоменов, тогда вы можете указать параметр домена с предшествующим периодом. То есть,

.example.com

Я столкнулся с этой проблемой с моими файлами cookie, и ваша ссылка в вашем сообщении является отличным решением.

До сих пор я никогда не испытывал затруднений с сеансами. Он не зависит от доменных или поддоменов, они хранятся на стороне сервера.

Вы можете установить в файле конфигурации постоянный параметр DOMAIN_NAME или в БД, который будет использоваться для ваших файлов cookie, а затем изменить его только один раз.