Как мне поддерживать сеансы PHP в нескольких доменах на одном сервере? - PullRequest
7 голосов
/ 28 октября 2008

Я ищу способ поддерживать сеансы PHP в нескольких доменах на одном сервере. Я собираюсь интегрировать свои сайты с форумом Simple Machines Forum, поэтому мне нужно будет использовать сессии на основе MySQL. Спасибо!

Ответы [ 2 ]

7 голосов
/ 28 октября 2008

В зависимости от предпочитаемого вами метода изменения переменных PHP (config Apache, .htaccess), измените значение session.cookie_domain на постоянное значение.

У меня есть несколько поддоменов, и каждый раздел VirtualHost в файле конфигурации Apache содержит следующую строку:

php_value session.cookie_domain mydomain.com

Синтаксис должен быть аналогичным, если вы вносите изменения в файл .htaccess.

Обновлено для комментария bobert5064:

Для нескольких доменов (например, domain1.com, domain2.org), я думаю, что необходимо только выбрать общее доменное имя (например, domain1.com). Я никогда не пробовал этого, поэтому я не могу проверить, работает ли он, но логика кажется точной.

Существует также метод установки направления переменных в PHP, описанный в http://us.php.net/manual/en/function.session-set-cookie-params.php. В документации не упоминается возможность или невозможность установки файлов cookie в другом домене.

1 голос
/ 28 октября 2008

Если один сайт будет пересылать или ссылаться на второй, он может включать идентификатор сеанса в href ссылки или в качестве ввода в форме. Похож на метод Джорджа img tag , но сессия будет перенесена только тогда и тогда, когда это будет необходимо.

Что лучше всего зависит от схемы использования ваших сайтов на самом деле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...