wordpress安装插件提示:wordpress发生意外错误的解决方法

2018年8月30日08:15:05 发表评论 215 views
广告也精彩

wordpress安装插件提示:wordpress发生意外错误的解决方法

安装wordpress插件,提示报错“wordpress发生意外错误,可能WordPress.org或服务器配置文件存在问题”

出问题的页面是http://*.*.*.*/wp-admin/update.php?action=install-plugin&plugin=bbpress&_wpnonce=39e9668a43

查看/wp-admin/update.php这个文件,处理action=install-plugin这个get请求的代码如下:

  1. } elseif ( 'install-plugin' == $action ) {
  2.         if ( ! current_user_can('install_plugins') )
  3.             wp_die( __( 'You do not have sufficient permissions to install plugins on this site.' ) );
  4.         include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
  5.         check_admin_referer( 'install-plugin_' . $plugin );
  6.         $api = plugins_api( 'plugin_information', array(
  7.             'slug' => $plugin,
  8.             'fields' => array(
  9.                 'short_description' => false,
  10.                 'sections' => false,
  11.                 'requires' => false,
  12.                 'rating' => false,
  13.                 'ratings' => false,
  14.                 'downloaded' => false,
  15.                 'last_updated' => false,
  16.                 'added' => false,
  17.                 'tags' => false,
  18.                 'compatibility' => false,
  19.                 'homepage' => false,
  20.                 'donate_link' => false,
  21.             ),
  22.         ) );

继续查看wp-admin/includes/plugin-install.php的plugins_api方法:

  1. if ( false === $res ) {
  2.         $url = $http_url = 'http://api.wordpress.org/plugins/info/1.0/';
  3.         if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
  4.             $url = set_url_scheme( $url, 'https' );
  5.         $http_args = array(
  6.             'timeout' => 15,
  7.             'body' => array(
  8.                 'action' => $action,
  9.                 'request' => serialize( $args )
  10.             )
  11.         );
  12.         $request = wp_remote_post( $url, $http_args );
  13.         if ( $ssl && is_wp_error( $request ) ) {
  14.             trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
  15.             $request = wp_remote_post( $http_url, $http_args );
  16.         }
  17.         if ( is_wp_error($request) ) {
  18.             print_r($request->error_data);
  19.             echo $request->errors;
  20.             $res = new WP_Error('plugins_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );
  21.         } else {
  22.             $res = maybe_unserialize( wp_remote_retrieve_body( $request ) );
  23.             if ( ! is_object( $res ) && ! is_array( $res ) )
  24.                 $res = new WP_Error('plugins_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ), wp_remote_retrieve_body( $request ) );
  25.         }

经过了一下午的挣扎,然后想,访问wordpress的时候一直比较慢,是不是连接超时了呢?

在ping.chinaz.com上ping api.wordpress.com,找了一个比较快的ip地址66.155.40.186,配置到/etc/host中,果然好了。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 站长技术资源群
  • QQ群:431710796
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: