summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--installer/check.php17
2 files changed, 11 insertions, 7 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 5903fe9cc..995253564 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
+- Fix dl() use in installer (#1486150)
- Added 'ldap_debug' option
- Fix "Empty startup greeting" bug (#1486085)
- Fix setting user name in 'new_user_identity' plugin (#1486137)
diff --git a/installer/check.php b/installer/check.php
index 9bdb41ba5..459305138 100644
--- a/installer/check.php
+++ b/installer/check.php
@@ -55,14 +55,17 @@ if (version_compare(PHP_VERSION, MIN_PHP_VERSION, '>=')) {
<h3>Checking PHP extensions</h3>
<p class="hint">The following modules/extensions are <em>required</em> to run RoundCube:</p>
<?php
-
+
+// get extensions location
+$ext_dir = ini_get('extension_dir');
+
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
foreach ($required_php_exts AS $name => $ext) {
if (extension_loaded($ext)) {
$RCI->pass($name);
} else {
- $_ext = $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
- $msg = @dl($_ext) ? 'Could be loaded. Please add in php.ini' : '';
+ $_ext = $ext_dir . '/' . $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
+ $msg = @is_readable($_ext) ? 'Could be loaded. Please add in php.ini' : '';
$RCI->fail($name, $msg, $source_urls[$name]);
}
echo '<br />';
@@ -78,8 +81,8 @@ foreach ($optional_php_exts AS $name => $ext) {
$RCI->pass($name);
}
else {
- $_ext = $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
- $msg = @dl($_ext) ? 'Could be loaded. Please add in php.ini' : '';
+ $_ext = $ext_dir . '/' . $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
+ $msg = @is_readable($_ext) ? 'Could be loaded. Please add in php.ini' : '';
$RCI->na($name, $msg, $source_urls[$name]);
}
echo '<br />';
@@ -99,8 +102,8 @@ foreach ($supported_dbs AS $database => $ext) {
$RCI->pass($database);
}
else {
- $_ext = $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
- $msg = @dl($_ext) ? 'Could be loaded. Please add in php.ini' : 'Not installed';
+ $_ext = $ext_dir . '/' . $prefix . $ext . '.' . PHP_SHLIB_SUFFIX;
+ $msg = @is_readable($_ext) ? 'Could be loaded. Please add in php.ini' : 'Not installed';
$RCI->na($database, $msg, $source_urls[$database]);
}
echo '<br />';