diff --git a/CHANGELOG b/CHANGELOG
index bac9ee1cf..66db4207a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix so install do not fail when one of DB driver checks fails but other drivers exist (#1489178)
- Fix so exported vCard specifies encoding in v3-compatible format (#1489183)
- Fix session issues when local and database time differs (#1486132)
- Fix thread cache syncronization/validation (#1489028)
diff --git a/installer/check.php b/installer/check.php
index fcf35025e..bea8c42e0 100644
--- a/installer/check.php
+++ b/installer/check.php
@@ -139,10 +139,11 @@ foreach ($RCI->supported_dbs as $database => $ext) {
if (extension_loaded($ext)) {
// MySQL driver requires PHP >= 5.3 (#1488875)
if ($ext == 'pdo_mysql' && version_compare(PHP_VERSION, '5.3.0', '<')) {
- $RCI->fail($database, 'PHP >= 5.3 required');
+ $RCI->fail($database, 'PHP >= 5.3 required', null, true);
}
else {
$RCI->pass($database);
+ $found_db_driver = true;
}
}
else {
@@ -152,6 +153,9 @@ foreach ($RCI->supported_dbs as $database => $ext) {
}
echo '
';
}
+if (empty($found_db_driver)) {
+ $RCI->failures++;
+}
?>
diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index c95d936d2..473fd2612 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -496,10 +496,13 @@ class rcube_install
* @param string Test name
* @param string Error message
* @param string URL for details
+ * @param bool Do not count this failure
*/
- function fail($name, $message = '', $url = '')
+ function fail($name, $message = '', $url = '', $optional=false)
{
- $this->failures++;
+ if (!$optional) {
+ $this->failures++;
+ }
echo Q($name) . ': NOT OK';
$this->_showhint($message, $url);