From 8ab40e70518402071f50263ebae8cf9633500405 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 16 Nov 2009 15:35:16 -0800 Subject: [PATCH] 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. --- extlib/PEAR.php | 2 +- lib/common.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/extlib/PEAR.php b/extlib/PEAR.php index fcefa964a3..4c24c6006a 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 4524d50fa8..063d7d9d99 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');