diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-07-06 09:48:32 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-07-06 09:48:32 +0200 |
commit | e6e5cb12f5aa93677fe8a373c56bd212a60a82ae (patch) | |
tree | aa71a5644ddeb8444778486111b0d09d0386cb07 | |
parent | 8c2375a07443231cad32bd4cbd1d9ffbd1aa5087 (diff) |
Handle properly situation when PDO class doesn't exist
-rw-r--r-- | program/include/rcube_db.php | 7 |
1 files changed, 6 insertions, 1 deletions
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(); |