I’m currently working on a small CMS for my website and I’m getting following error when calling session_start() :
Fatal error: Exception thrown without a stack frame in Unknown on line 0
I’m storing the PDO database connection in the $_SESSION, so I need to call session_start() directly after starting up the script.
Here’s a snippet :
function initDB($config){ //initalizes the database connection
try{
@session_start();
}catch (Exception $e){
}
$dsn = 'mysql:dbname='.$config['db'].';host='.$config['host'];
$user = $config['usr'];
$password = $config['pw'];
try {
$db = new PDO($dsn, $user, $password);
$_SESSION['db'] = $db;
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
Back traced the error to “@session_start()”, so I’m not able to suspress the error with @ or even with a try-catch.
I Hope you could help me.
Thanks a lot
You cannot store resources (a PDO object is actually a resource) in a session. On reinitialisation this is broken and throws an exception ‘outside’ the scope of your PHP file.