Adds checking for fsockopen to check for WP_DEBUG and silently drop warnings. Adds streams_set_timeout to fsockopen to help prevent long waits. Props santosj. see #7514
git-svn-id: http://svn.automattic.com/wordpress/trunk@8644 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
9179510fc1
commit
1ef0029be8
|
@ -463,11 +463,18 @@ class WP_Http_Fsockopen {
|
||||||
if ( true === $secure_transport )
|
if ( true === $secure_transport )
|
||||||
$error_reporting = error_reporting(0);
|
$error_reporting = error_reporting(0);
|
||||||
|
|
||||||
$handle = fsockopen($arrURL['host'], $arrURL['port'], $iError, $strError, $r['timeout'] );
|
if ( !defined('WP_DEBUG') || ( defined('WP_DEBUG') && false === WP_DEBUG ) )
|
||||||
|
$handle = @fsockopen($arrURL['host'], $arrURL['port'], $iError, $strError, $r['timeout'] );
|
||||||
|
else
|
||||||
|
$handle = fsockopen($arrURL['host'], $arrURL['port'], $iError, $strError, $r['timeout'] );
|
||||||
|
|
||||||
if ( false === $handle )
|
if ( false === $handle )
|
||||||
return new WP_Error('http_request_failed', $iError . ': ' . $strError);
|
return new WP_Error('http_request_failed', $iError . ': ' . $strError);
|
||||||
|
|
||||||
|
// WordPress supports PHP 4.3, which has this function. Removed sanity
|
||||||
|
// checking for performance reasons.
|
||||||
|
stream_set_timeout($handle, $r['timeout'] );
|
||||||
|
|
||||||
$requestPath = $arrURL['path'] . ( isset($arrURL['query']) ? '?' . $arrURL['query'] : '' );
|
$requestPath = $arrURL['path'] . ( isset($arrURL['query']) ? '?' . $arrURL['query'] : '' );
|
||||||
$requestPath = empty($requestPath) ? '/' : $requestPath;
|
$requestPath = empty($requestPath) ? '/' : $requestPath;
|
||||||
|
|
||||||
|
@ -601,8 +608,9 @@ class WP_Http_Fopen {
|
||||||
if (! $handle)
|
if (! $handle)
|
||||||
return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url));
|
return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url));
|
||||||
|
|
||||||
if ( function_exists('stream_set_timeout') )
|
// WordPress supports PHP 4.3, which has this function. Removed sanity
|
||||||
stream_set_timeout($handle, $r['timeout'] );
|
// checking for performance reasons.
|
||||||
|
stream_set_timeout($handle, $r['timeout'] );
|
||||||
|
|
||||||
if ( ! $r['blocking'] ) {
|
if ( ! $r['blocking'] ) {
|
||||||
fclose($handle);
|
fclose($handle);
|
||||||
|
@ -726,6 +734,8 @@ class WP_Http_Streams {
|
||||||
if ( ! $handle)
|
if ( ! $handle)
|
||||||
return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url));
|
return new WP_Error('http_request_failed', sprintf(__('Could not open handle for fopen() to %s'), $url));
|
||||||
|
|
||||||
|
// WordPress supports PHP 4.3, which has this function. Removed sanity
|
||||||
|
// checking for performance reasons.
|
||||||
stream_set_timeout($handle, $r['timeout'] );
|
stream_set_timeout($handle, $r['timeout'] );
|
||||||
|
|
||||||
if ( ! $r['blocking'] ) {
|
if ( ! $r['blocking'] ) {
|
||||||
|
|
|
@ -145,6 +145,9 @@ function wp_update_plugins() {
|
||||||
|
|
||||||
$raw_response = wp_remote_request('http://api.wordpress.org/plugins/update-check/1.0/', $options);
|
$raw_response = wp_remote_request('http://api.wordpress.org/plugins/update-check/1.0/', $options);
|
||||||
|
|
||||||
|
if ( is_wp_error( $raw_response ) )
|
||||||
|
return false;
|
||||||
|
|
||||||
if( 200 != $raw_response['response']['code'] ) {
|
if( 200 != $raw_response['response']['code'] ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue