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 fe9473ac78 were lost in just such an update.
This commit is contained in:
Brion Vibber 2009-11-16 15:35:16 -08:00
parent 6f9b909211
commit 8ab40e7051
2 changed files with 9 additions and 1 deletions

View File

@ -746,7 +746,7 @@ class PEAR
{ {
if (!extension_loaded($ext)) { if (!extension_loaded($ext)) {
// if either returns true dl() will produce a FATAL error, stop that // 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; return false;
} }
if (OS_WINDOWS) { if (OS_WINDOWS) {

View File

@ -45,6 +45,14 @@ define('FOREIGN_FRIEND_RECV', 2);
set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/'); 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 # global configuration object
require_once('PEAR.php'); require_once('PEAR.php');