Search code examples
phpcodeignitersymfony1

Sharing php Session ($_SESSION) across multiple domain


I have 2 different domain, let's call them www.foo.com and bar.foo.com. The first one is built with CI, and the second one is built with Symfony. I want to share my session, so if I login in one of them, I can access the other one. I set my session data with $_SESSION["session_name"] = "value";.

How to make a session data readable from the other domain?

Thanks for your help.


Solution

  • Considering your original question and your answers to Logan and myself in the comments of the original question I understand:

    1 - you want to pass the session variables among a domain and its subdomains; and

    2 - CI and Symfony load the session before you have a chance to do the ini_set command.

    I believe you have two options:

    1 - include the php configuration command in the php.ini file

    session.cookie_domain=".foo.com"
    

    If you try including it in the .htaccess it will not work if you are running php as a CGI module, which seems to be fairly common among shared hosting services.

    2 - you can prepend a file to all php scripts in your site. Those will be put on top of every single php script your site runs, even the ones inside CI and Symfony. For example:

    phpprepend.php file

    <?php
    ini_set('session.cookie_domain', '.foo.com');
    ?>
    

    include the following line in your php.ini file:

    auto_prepend_file = "/path/to/file/phpprepend.php"
    

    Please let us know if this solves the problem.

    Good luck!