session_start выдает фатальную ошибку - PullRequest
0 голосов
/ 16 сентября 2010

В настоящее время я работаю над небольшой CMS для своего веб-сайта и получаю следующую ошибку при вызове session_start ():

Неустранимая ошибка: исключение, созданное без фрейма стека в строке Неизвестно0

Я храню соединение с базой данных PDO в $ _SESSION, поэтому мне нужно вызывать session_start () сразу после запуска скрипта.Вот фрагмент:

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();
}

Назад проследил ошибку до "@session_start ()", поэтому я не могу отменить ошибку с @ или даже с try-catch.

Надеюсь, вы могли бы помочь мне.Большое спасибо

Ответы [ 3 ]

1 голос
/ 16 сентября 2010

Нельзя хранить ресурсы (объект PDO на самом деле является ресурсом) в сеансе.При повторной инициализации это не работает и выдает исключение «за пределы» вашего PHP-файла.

0 голосов
/ 16 сентября 2010

Итак, как мне сказали, сохранение объекта PDO в сеансе вызывает эту ошибку. Я использовал обходной путь, теперь я настраиваю соединение да для каждого запроса, вместо того, чтобы хранить соединения в сеансе.

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...