现在的位置:首页>wordpress>正文

升级PHP 7后WordPress后台一片空白的解决

2017年03月26日 ⁄ 共 3354字 暂无评论

福利老幺在去年的时候,介绍过lnmp下升级php 7的一次操作过程的操作,相信不少朋友,如果是和福利老幺一样使用的lnmp的话,肯定也应该升级到PHP 7了,原因很简单,升级以后,速度会变快,当然,如果您没有升级的想法,那么本文的内容对您来说没有作用,这里一起来看看一个升级PHP 7后WordPress后台一片空白的解决过程.

最近将环境升级到PHP 7,发现WordPress后台打开空白,开启详细报错后提示wp-includes/user.php这个文件有异常.

升级PHP 7后WordPress后台一片空白的解决

也不知道是否自己WordPress版本(4.3)较低的原因,可以参考如下方法解决。修改wp-includes/user.php这个文件,在

  1. if ( emptyempty($credentials) ) {

后面增加:

  1. $credentials = array(); // 增加这行代码

增加完成后的代码如下,保存后正常,内容如下:

  1. function wp_signon( $credentials = array(), $secure_cookie = '' ) {
  2.     if ( emptyempty($credentials) ) {
  3.         $credentials = array(); // Back-compat for plugins passing an empty string.
  4.         if ( ! emptyempty($_POST['log']) )
  5.             $credentials['user_login'] = $_POST['log'];
  6.         if ( ! emptyempty($_POST['pwd']) )
  7.             $credentials['user_password'] = $_POST['pwd'];
  8.         if ( ! emptyempty($_POST['rememberme']) )
  9.             $credentials['remember'] = $_POST['rememberme'];
  10.     }
  11.     if ( !emptyempty($credentials['remember']) )
  12.         $credentials['remember'] = true;
  13.     else
  14.         $credentials['remember'] = false;
  15.     /**
  16.      * Fires before the user is authenticated.
  17.      *
  18.      * The variables passed to the callbacks are passed by reference,
  19.      * and can be modified by callback functions.
  20.      *
  21.      * @since 1.5.1
  22.      *
  23.      * @todo Decide whether to deprecate the wp_authenticate action.
  24.      *
  25.      * @param string $user_login    Username, passed by reference.
  26.      * @param string $user_password User password, passed by reference.
  27.      */
  28.     do_action_ref_array( 'wp_authenticate', array( &$credentials['user_login'], &$credentials['user_password'] ) );
  29.     if ( '' === $secure_cookie )
  30.         $secure_cookie = is_ssl();
  31.     /**
  32.      * Filters whether to use a secure sign-on cookie.
  33.      *
  34.      * @since 3.1.0
  35.      *
  36.      * @param bool  $secure_cookie Whether to use a secure sign-on cookie.
  37.      * @param array $credentials {
  38.      *     Array of entered sign-on data.
  39.      *
  40.      *     @type string $user_login    Username.
  41.      *     @type string $user_password Password entered.
  42.      *     @type bool   $remember      Whether to 'remember' the user. Increases the time
  43.      *                                 that the cookie will be kept. Default false.
  44.      * }
  45.      */
  46.     $secure_cookie = apply_filters( 'secure_signon_cookie', $secure_cookie$credentials );
  47.     global $auth_secure_cookie// XXX ugly hack to pass this to wp_authenticate_cookie
  48.     $auth_secure_cookie = $secure_cookie;
  49.     add_filter('authenticate', 'wp_authenticate_cookie', 30, 3);
  50.     $user = wp_authenticate($credentials['user_login'], $credentials['user_password']);
  51.     if ( is_wp_error($user) ) {
  52.         if ( $user->get_error_codes() == array('empty_username', 'empty_password') ) {
  53.             $user = new WP_Error('''');
  54.         }
  55.         return $user;
  56.     }
  57.     wp_set_auth_cookie($user->ID, $credentials['remember'], $secure_cookie);
  58.     /**
  59.      * Fires after the user has successfully logged in.
  60.      *
  61.      * @since 1.5.0
  62.      *
  63.      * @param string  $user_login Username.
  64.      * @param WP_User $user       WP_User object of the logged-in user.
  65.      */
  66.     do_action( 'wp_login', $user->user_login, $user );
  67.     return $user;
  68. }

 

 

小结

文章中的内容来源自网络,由福利老幺整理发布.

wordpress确实很好用,但很多时候,还是经不起"折腾",福利老幺总是能在折腾中遇到过各种各样的问题,所以基本上都会记录下来,或者收藏起来.

给我留言