yes sessions are different than plain cookies, but session bydefault rely on cookies. when you start a session, php sends the user a cookie w/ thier session id in it.
the session cookies default lifetime is 0
browsers interpret this as "hold on this cookie until the browser is closed"
if you want thier session cookie to last a specific amount of time, you can use the settings devinmike refered to in php.ini
but you can change some of the settings w/ ini_set() and session_set_cookie_params()
try this
<?php
// must set params before calling session_start()
ini_set('session.cookie_lifetime', 10000); // 10000 seconds
session_start();
remember though, now the browser will discard that cookie after 10000 seconds, even if they dont close the browser and are still actively using your website.
if thats a problem, then set your own cookie everytime like so
<?php
ini_set('session.gc_maxlifetime', 10000); // use same value as your expires
session_start();
$name = session_name();
$id = session_id();
$expire = 10000;
$path = ini_get('session.cookie_path');
$domain = ini_get('session.cookie_domain');
$secure = ini_get('session.cookie_secure');
setcookie($name, $id, $expire, $path, $domain, $secure);
this will make the cookie last for 10000 seconds after the last page request