Yes, you can.
You need to share your session ids around site A
, site B
and site C
. Since session ids are usually stored in cookies, you need to transfer these information over all the domains.
If site A/B/C
are all sub domain of the same site, then all you need to do is to change session.cookie_domain
directive in your php.ini file like:
ini_set('session.cookie_domain', '.domain.com');
With this you can share session ids across multiple sub domains, like A.domain.com
, B.domain.com
, C.domain.com
, ...
Harder is to do the same thing with different domain, like A.com
, B.com
, C.com
, as you can't transfer over cookies because cookies are limited by the "same origin" policy. What you could do is to make cross-domain requests. You can find here some approach.
Now you need a common storage for the session data. Most websites use a database to store the session values instead of files, because databases are easier to scale in a multiple web server environment. You can use custom session handler to implement database storage. But if the domains are all on same server, all you need to do is to set the same session_save_path.