サポート » 使い方全般 » update.phpについて

  • 解決済 dekazo

    (@dekazo)


    wp-includes/update.phpは主に何をしているファイルでしょうか?
    debug.logに『PHP Warning: 予期しないエラーが発生しました。〜wp-includes/update.php on line 385』と表示されます。
    不定期ですが、数日おきに1〜3・4程度、記録されます。
    環境が古く(WordPress5.1.10)、また自動更新を止めていることなどを考えました。

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

    (@wildworks)

    @dekazoさん

    こんにちは。
    update.phpは、WordPressコア・プラグイン・テーマなどのアップデートをチェックするプログラムとなります。

    エラーが出ている箇所からすると、プラグインのアップデートチェックで何かエラーが出ていると思われます。

    以下の情報をいただければ、原因が分かるかもしれません。

    • 「予期しないエラーが発生しました。」の前後に、他に何かエラーメッセージが出ていないか
    • どのようなコードを使って自動更新を止めているか
    トピック投稿者 dekazo

    (@dekazo)

    Tetsuaki Hamano 様

    ご連絡遅くなりました。
    ご返信ありがとうございます。
    ファイルの役割について理解できました。

    ご指示いただいた点を下欄に記しておきます。
    何か分かるようでしたら、アドバイス頂けると助かります。
    ただご負担になるようでしたら、返信なしも構いません。
    よろしくお願いします。

    <<「予期しないエラーが発生しました。」の前後に、他に何かエラーメッセージが出ていないか

     → ★★★以下がメッセージです。
    PHP Warning: 予期しないエラーが発生しました。WordPress.org かこのサーバーの設定に何か問題があるかもしれません。問題が続くようであれば、サポートフォーラムを参照してみてください。 (WordPress は WordPress.org との安全な接続を確立できませんでした。サーバー管理者にご連絡ください) in /var/www/vhosts/tatsumi.co.jp/httpdocs/product/wp-includes/update.php on line 385

    <<どのようなコードを使って自動更新を止めているか

     → ★★★wp-config.phpに以下を記載

    /** ファイル編集の無効化 → edit_themes・edit_plugins・edit_files */
    define('DISALLOW_FILE_EDIT', true);
    /** ファイル編集の無効化(上記より範囲大) → edit_files, edit_plugins, edit_themes, update_plugins, delete_plugins, install_plugins, update_themes, delete_themes, install_themes, update_core */
    define('DISALLOW_FILE_MODS',true);
    /** WordPressの自動更新の無効化 */
    define( 'AUTOMATIC_UPDATER_DISABLED', true );
    /** プラグインやテーマの更新とインストールの無効化 */
    define( 'DISALLOW_FILE_MODS', true );

     → ★★★functions.phpに以下を記載

    /* WP 本体 更新通知 非表示 */
    add_filter('pre_site_transient_update_core', '__return_zero');
    remove_action('wp_version_check', 'wp_version_check');
    remove_action('admin_init', '_maybe_update_core');
    /* プラグイン 更新通知 非表示 */
    remove_action( 'load-update-core.php', 'wp_update_plugins' );
    add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
    Aki Hamano

    (@wildworks)

    @dekazo さん

    こんにちは。
    コードを見る限り、functions.php側で冗長なコード・古いコードが入り混じっているように思います。

    remove_action( 'load-update-core.php', 'wp_update_plugins' );

    上記コードが怪しいですが、一旦以下のコードに置き換えてみてはどうでしょうか。
    ※お使いのバージョン(WordPress5.1)での動作は未検証です

    // 本体バージョンの更新を通知しない
    add_filter( 'pre_site_transient_update_core', '__return_null' );
    // テーマの更新を通知しない
    add_filter( 'pre_site_transient_update_themes', '__return_null' );
    // プラグインの更新を通知しない
    add_filter( 'pre_site_transient_update_plugins', '__return_null' );
    トピック投稿者 dekazo

    (@dekazo)

    Tetsuaki Hamano 様

    ご指示ありがとうございます。
    記述いただいたものをテストしてみます。
    置き換えて1週間程度様子みてみます。
    結果、こちらにご報告いたします。

    丁寧にありがとうございます。

    トピック投稿者 dekazo

    (@dekazo)

    Tetsuaki Hamano 様

    遅くなりました。
    経過報告になります。

    エラーメッセージの行数が以下の通り変わりました。
    (修正前)update.php on line 385
    (修正後)update.php on line 161

    ご指摘頂いたコード互換性の問題あたりでもう少し調べてみます。
    ありがとうございます。

    トピック投稿者 dekazo

    (@dekazo)

    すみません。
    解決済みとさせていただきます。
    ありがとうございました。

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