From e6e5cb12f5aa93677fe8a373c56bd212a60a82ae Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 6 Jul 2012 09:48:32 +0200 Subject: Handle properly situation when PDO class doesn't exist --- program/include/rcube_db.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'program') diff --git a/program/include/rcube_db.php b/program/include/rcube_db.php index 2ee562395..ba7b96c9d 100644 --- a/program/include/rcube_db.php +++ b/program/include/rcube_db.php @@ -137,6 +137,11 @@ class rcube_db // Connect try { + // with this check we skip fatal error on PDO object creation + if (!class_exists('PDO', false)) { + throw new Exception('PDO extension not loaded. See http://php.net/manual/en/intro.pdo.php'); + } + $this->conn_prepare($dsn); $dbh = new PDO($dsn_string, $dsn['username'], $dsn['password'], $dsn_options); @@ -144,7 +149,7 @@ class rcube_db // don't throw exceptions or warnings $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); } - catch (PDOException $e) { + catch (Exception $e) { $this->db_error = true; $this->db_error_msg = $e->getMessage(); -- cgit v1.2.3