From 3a722f41d7ce811ca8fba300a703234aac27946f Mon Sep 17 00:00:00 2001 From: dd32 Date: Thu, 29 Mar 2012 02:15:06 +0000 Subject: [PATCH] WP_Filesystem: PemFTP: Detect dl() being disabled in order to avoid any fatals which may be produced when the Sockets extension is not available. Props to kurtpayne for initial patch, Fixes #20187 git-svn-id: http://svn.automattic.com/wordpress/trunk@20311 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/class-ftp.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/wp-admin/includes/class-ftp.php b/wp-admin/includes/class-ftp.php index 1e35e7453..1ae3e870e 100644 --- a/wp-admin/includes/class-ftp.php +++ b/wp-admin/includes/class-ftp.php @@ -896,11 +896,12 @@ class ftp_base { } } -$mod_sockets=TRUE; -if (!extension_loaded('sockets')) { - $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : ''; - if(!@dl($prefix . 'sockets.' . PHP_SHLIB_SUFFIX)) $mod_sockets=FALSE; +$mod_sockets = extension_loaded( 'sockets' ); +if ( ! $mod_sockets && function_exists( 'dl' ) && is_callable( 'dl' ) ) { + $prefix = ( PHP_SHLIB_SUFFIX == 'dll' ) ? 'php_' : ''; + @dl( $prefix . 'sockets.' . PHP_SHLIB_SUFFIX ); + $mod_sockets = extension_loaded( 'sockets' ); } -require_once "class-ftp-".($mod_sockets?"sockets":"pure").".php"; +require_once "class-ftp-" . ( $mod_sockets ? "sockets" : "pure" ) . ".php"; ?>