Как создать сессию в субдомене, которая будет доступна на самом домене?

Для создания сессии в субдомене, которая будет доступна на самом домене, вам потребуется настроить опции сессий в PHP.

Во-первых, убедитесь, что на вашем домене и субдомене используется одинаковый префикс домена. Например, если ваш основной домен - example.com, то субдомен должен быть вида subdomain.example.com, а не subdomain.anotherdomain.com.

Во-вторых, откройте файл php.ini и установите значение параметра "session.cookie_domain" равным ".example.com" (без кавычек). Это позволит использовать сессию на всех субдоменах вашего основного домена.

Пример:

session.cookie_domain = ".example.com"

Также, вам необходимо вызывать функцию session_set_cookie_params() перед вызовом функции session_start(), чтобы установить домен сессии.

Пример:

session_set_cookie_params(0, '/', '.example.com');
session_start();

Обратите внимание, что параметр "session.cookie_domain" и функция session_set_cookie_params() должны быть установлены до вызова функции session_start().

Кроме того, убедитесь, что у вас есть отдельное поддоменное имя, предназначенное для хранения сессионных файлов. Например, вы можете создать директорию под названием "session" на вашем домене и настроить PHP для сохранения сессионных файлов в этой директории.

Пример:

session.save_path = "/path/to/session/directory"

Не забывайте также настроить права доступа к директории "session", чтобы PHP имело права записи в нее.

В итоге, после применения всех этих настроек, вы сможете создавать сессии в субдомене, которые будут доступны на основном домене и на других субдоменах.