サポート » バグ報告と提案 » WP5.2アップデート後のトラブル

  • 解決済 godchild

    (@godchild)


    先日、5.2-jaに更新したところ、画面が真っ白になりサイト及び管理画面にアクセスできなくなりました(Firefoxでは真っ白、Chromeでは「HTTP ERROR 500」が表示されていました)。

    PHPのバージョンが古かったので、そのせいかとも思い、5.6から7.1(ロリポップ推奨)にアップデートしました。

    ロリポップのサポートには問い合わせ中ですが、返事を待っている最中に、表示が以下のように変わりました。
    ______________________________________________________________________________________
    Warning: require(/home/users/1/lolipop.jp-2314dd60231cf35c/web/wp_basic01/wp-includes/sodium_compat/autoload.php): failed to open stream: No such file or directory in /home/users/1/lolipop.jp-2314dd60231cf35c/web/wp_basic01/wp-includes/compat.php on line 447

    Fatal error: require(): Failed opening required ‘/home/users/1/lolipop.jp-2314dd60231cf35c/web/wp_basic01/wp-includes/sodium_compat/autoload.php’ (include_path=’.:/usr/local/php/7.1/lib/php’) in /home/users/1/lolipop.jp-2314dd60231cf35c/web/wp_basic01/wp-includes/compat.php on line 447
    ______________________________________________________________________________________

    そこで、
    /wp-includes/sodium_compat/autoload.php というファイルもディレクトリもない、と解釈し、compat.phpを見てみたところ、447行の辺りは以下のようになっていました(一番上が445行目です)。

    ______________________________________________________________________________________
    // sodium_crypto_box was introduced in PHP 7.2
    if ( ! function_exists( ‘sodium_crypto_box’ ) ) {
    require ABSPATH . WPINC . ‘/sodium_compat/autoload.php’;
    }

    if ( ! function_exists( ‘array_replace_recursive’ ) ) :
    /**
    * PHP-agnostic version of {@link array_replace_recursive()}.
    *
    * The array_replace_recursive() function is a PHP 5.3 function. WordPress
    * currently supports down to PHP 5.2, so this method is a workaround
    * for PHP 5.2.
    *
    * Note: array_replace_recursive() supports infinite arguments, but for our use-
    * case, we only need to support two arguments.
    *
    * Subject to removal once WordPress makes PHP 5.3.0 the minimum requirement.
    *
    * @since 4.5.3
    *
    * @see https://secure.php.net/manual/en/function.array-replace-recursive.php#109390
    *
    * @param array $base Array with keys needing to be replaced.
    * @param array $replacements Array with the replaced keys.
    *
    * @return array
    */
    function array_replace_recursive( $base = array(), $replacements = array() ) {
    foreach ( array_slice( func_get_args(), 1 ) as $replacements ) {
    $bref_stack = array( &$base );
    $head_stack = array( $replacements );

    do {
    end( $bref_stack );

    $bref = &$bref_stack[ key( $bref_stack ) ];
    $head = array_pop( $head_stack );

    unset( $bref_stack[ key( $bref_stack ) ] );

    foreach ( array_keys( $head ) as $key ) {
    if ( isset( $key, $bref ) &&
    isset( $bref[ $key ] ) && is_array( $bref[ $key ] ) &&
    isset( $head[ $key ] ) && is_array( $head[ $key ] ) ) {

    $bref_stack[] = &$bref[ $key ];
    $head_stack[] = $head[ $key ];
    } else {
    $bref[ $key ] = $head[ $key ];
    }
    }
    } while ( count( $head_stack ) );
    }

    return $base;
    }
    endif;

    /**
    * Polyfill for the SPL autoloader. In PHP 5.2 (but not 5.3 and later), SPL can
    * be disabled, and PHP 7.2 raises notices if the compiler finds an __autoload()
    * function declaration. Function availability is checked here, and the
    * autoloader is included only if necessary.
    */

    _____________________________________________________________________________________

    このような場合、どう対処すればよいのでしょうか。
    ご教示いただけますとたいへん助かります。

    何卒宜しくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • CG

    (@du-bist-der-lenz)

    ありがとうございます。まだ、5.2には一つのアップグレードしていないままなので、しばらく様子を見ます。

    こんにちは

    php5.6 でも動作するはずです。

    アップデートに失敗しているようです。

    こちらからダウンロードし、wp-contents 以外を上書きアップロードして下さい。

    @godchild
    WordPressの更新に失敗しているのかもしれません。
    https://ja.wordpress.org/latest-ja.zip
    上記から最新版をダウンロードしてwp-contentフォルダ以外をFTPで上書きしてみてください。

    [モデレーター編集: 他のフォーラム参加者への暴言と受け取れる内容がありましたので削除しました。]

    • この返信は4 ヶ月、 1 週前に  Takayuki Miyoshi さんが編集しました。理由: 不適切な内容を削除

    munyaguさま、manboさま

    早速のご指摘ありがとうございます。
    ご指示通り行なったところ、無事、復旧することができました。

    この度は本当に助かりました。

    ありがとうございました!!!

    モデレーター Takayuki Miyoshi

    (@takayukister)

    @manbo さん、あなたのコメントに他のフォーラム参加者への暴言と受け取れる内容がありましたので削除しました。これはフォーラムガイドライン上の禁止行為に該当します。今後このような行為が繰り返されるようでしたら警告なく厳しい処分を行います。

    『どう対処すればよいのか』という質問に対し
    頓珍漢なコメントする者も対処した方がよろしいかと。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。