summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2009-11-16 15:35:16 -0800
committerBrion Vibber <brion@pobox.com>2009-11-16 15:45:15 -0800
commit8ab40e70518402071f50263ebae8cf9633500405 (patch)
tree40dc532ad85548cdae8b6e03bc849f603dcf814e
parent6f9b90921188f477f8b8224c12d6ea7e8b3cc1d3 (diff)
Cleanup for bug 1813: workaround sometimes-missing dl() in PHP 5.3 by defining our own bogus function rather than attempting to patch upstream libs. This keeps our fix across upstream versions (or when loading upstream library from outside extlib)
Note that fixes to OpenID libraries in commit fe9473ac7810d317e001a0fec19cbacaafc0c909 were lost in just such an update.
-rw-r--r--extlib/PEAR.php2
-rw-r--r--lib/common.php8
2 files changed, 9 insertions, 1 deletions
diff --git a/extlib/PEAR.php b/extlib/PEAR.php
index fcefa964a..4c24c6006 100644
--- a/extlib/PEAR.php
+++ b/extlib/PEAR.php
@@ -746,7 +746,7 @@ class PEAR
{
if (!extension_loaded($ext)) {
// if either returns true dl() will produce a FATAL error, stop that
- if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1) || !function_exists('dl')) {
+ if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) {
return false;
}
if (OS_WINDOWS) {
diff --git a/lib/common.php b/lib/common.php
index 4524d50fa..063d7d9d9 100644
--- a/lib/common.php
+++ b/lib/common.php
@@ -45,6 +45,14 @@ define('FOREIGN_FRIEND_RECV', 2);
set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/');
+# To protect against upstream libraries which haven't updated
+# for PHP 5.3 where dl() function may not be present...
+if (!function_exists('dl')) {
+ function dl($library) {
+ return false;
+ }
+}
+
# global configuration object
require_once('PEAR.php');