Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I just had this same problem. It appears to be a problem with the way Apache returns session data for IE7 and IE8, but most likely because IE7 and IE8 have an improper way of announcing the domain they're requesting session data for.</p> <p>Here's my scenario:</p> <p>Running Apache 1.3 with two domains, each has their own account with their own users:</p> <pre><code>Domain: mycompany.com Session path: /tmp/ Webserver user: mycompanycom Domain: support.mycompany.com Session path: /tmp/ Webserver user: nobody </code></pre> <p>Here is what happens during a normal visit with Firefox/Safari/Chrome:</p> <ol> <li>I visit mycompany.com and session file is created in <code>/tmp/</code> owned by the user <code>mycompanycom</code>. </li> <li>I then visit support.mycompany.com, and second session file is created in <code>/tmp/</code> owned by user <code>nobody</code>.</li> <li>Apache doesn't get confused and the correct session files are returned</li> </ol> <p>However, here's what happens during a visit with IE7 and IE8:</p> <ol> <li>I visit mycompany.com and session file is created in <code>/tmp/</code> owned by the user <code>mycompanycom</code>. </li> <li>I then visit support.mycompany.com and, instead of creating second session file in <code>/tmp/</code> owned by the user <code>nobody</code>, Apache tries to return the session file for mycompany.com. </li> <li>The session file for mycompany.com is owned by the user <code>mycompanycom</code>, so the web server, running as user <code>nobody</code> cannot access it. Permission is denied.</li> </ol> <p>The solution was, as others have suggested, to create a separate directory in <code>/tmp/</code> to separate the stored session data for support.mycompany.com:</p> <pre><code>mkdir /tmp/mycompany chown nobody:nobody /tmp/mycompany </code></pre> <p>I then added the following to an <code>.htaccess</code> file in the root web directory for support.mycompany.com:</p> <pre><code>php_value session.save_path '/tmp/mycompany' </code></pre> <p>And finally, I removed any existing session data in <code>/tmp/</code> to ensure the new session path would get used immediately:</p> <pre><code>rm -f /tmp/sess_* </code></pre> <p>And that's it! Now IE7 and IE8 work properly. </p> <p>I'm fairly certain this problem has to do with how IE7 and IE8 request session data from Apache. They probably first request session data for mycompany.com and THEN request session data for support.mycompany.com, even though the latter was the only doman entered in the address bar.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload