tags:

views:

1471

answers:

5

The title kind of speaks for itself, are $_SESSION variables stored on the client or the server?

+1  A: 

As Mr. Taylor pointed out this is usually set in php.ini. Usually they are stored as files in a specific directory.

Brian Fisher
+16  A: 

The location of the $_SESSION variable storage is determined by PHP's "session.save-path" configuration. Usually this is "/tmp" on a Linux/Unix system. Use the phpinfo() function to view your particular settings if not 100% sure by creating a file with this content in the DocumentRoot of your domain:

<? phpinfo() ?>

Here is the link to the PHP documentation on this configuration setting:

http://us.php.net/manual/en/session.configuration.php#ini.session.save-path

rjamestaylor
+5  A: 

They're generally stored on the server. Where they're stored is up to you as the developer. You can use the session.save_handler configuration variable and the session_set_save_handler to control how sessions get saved on the server. The default save method is to save sessions to files. Where they get saved is controlled by the session.save_path variable.

Rob Kennedy
+3  A: 

As mentioned already, the contents are stored at the server. However the session is identified by a session-id, which is stored at the client and send with each request. Usually the session-id is stored in a cookie, but it can also be appended to urls. (That's the PHPSESSID query-parameter you some times see)

troelskn
A: 

On Debian (isn't this the case for most Linux distros?), it's saved in /var/lib/php5/. As mentioned above, it's configured in your php.ini.

Hans