From 278e2dd3095b626c6acc413229cab59c39f45126 Mon Sep 17 00:00:00 2001 From: Steven Wittens <steven@10.no-reply.drupal.org> Date: Thu, 20 Oct 2005 21:30:50 +0000 Subject: [PATCH] - Add maintenance-page error screens when the php module for the dbtype is not loaded (just showed a blank screen before) --- includes/database.mysql.inc | 9 +++++++++ includes/database.mysqli.inc | 9 +++++++++ includes/database.pgsql.inc | 9 +++++++++ 3 files changed, 27 insertions(+) diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc index 7b307a3c5f5c..8f96dc3bb444 100644 --- a/includes/database.mysql.inc +++ b/includes/database.mysql.inc @@ -21,6 +21,15 @@ * (e.g. your database and web server live on different machines). */ function db_connect($url) { + // Check if MySQL support is present in PHP + if (!function_exists('mysql_connect')) { + drupal_maintenance_theme(); + drupal_set_title('PHP MySQL support not enabled'); + print theme('maintenance_page', '<p>We were unable to use the MySQL database because the MySQL extension for PHP is not installed. Check your <code>PHP.ini</code> to see how you can enable it.</p> +<p>For more help, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>'); + exit; + } + $url = parse_url($url); // Allow for non-standard MySQL port. diff --git a/includes/database.mysqli.inc b/includes/database.mysqli.inc index 779a4a909d92..f96f8965983a 100644 --- a/includes/database.mysqli.inc +++ b/includes/database.mysqli.inc @@ -21,6 +21,15 @@ * Note that mysqli does not support persistent connections. */ function db_connect($url) { + // Check if MySQLi support is present in PHP + if (!function_exists('mysqli_init')) { + drupal_maintenance_theme(); + drupal_set_title('PHP MySQL support not enabled'); + print theme('maintenance_page', '<p>We were unable to use the MySQL database because the MySQLi extension for PHP is not installed. Check your <code>PHP.ini</code> to see how you can enable it.</p> +<p>For more help, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>'); + exit; + } + $url = parse_url($url); // Allow for non-standard MySQL port. diff --git a/includes/database.pgsql.inc b/includes/database.pgsql.inc index 4cfa74f829cd..89b693bab191 100644 --- a/includes/database.pgsql.inc +++ b/includes/database.pgsql.inc @@ -21,6 +21,15 @@ * (e.g. your database and web server live on different machines). */ function db_connect($url) { + // Check if MySQL support is present in PHP + if (!function_exists('pg_connect')) { + drupal_maintenance_theme(); + drupal_set_title('PHP PostgreSQL support not enabled'); + print theme('maintenance_page', '<p>We were unable to use the PostgreSQL database because the PostgreSQL extension for PHP is not installed. Check your <code>PHP.ini</code> to see how you can enable it.</p> +<p>For more help, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>'); + exit; + } + $url = parse_url($url); $conn_string = ' user='. $url['user'] .' dbname='. substr($url['path'], 1) .' password='. $url['pass'] . ' host=' . $url['host']; -- GitLab