diff options
author | Brion Vibber <brion@pobox.com> | 2009-11-16 15:35:16 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2009-11-16 15:45:15 -0800 |
commit | 8ab40e70518402071f50263ebae8cf9633500405 (patch) | |
tree | 40dc532ad85548cdae8b6e03bc849f603dcf814e | |
parent | 6f9b90921188f477f8b8224c12d6ea7e8b3cc1d3 (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.php | 2 | ||||
-rw-r--r-- | lib/common.php | 8 |
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'); |