2016年4月14日木曜日

wp core update で WordPress 本体のアップデートができない場合には・・・

ようやく原因を見つけたのでメモ。

Acunetix WP Security プラグイン問題


Acunetix WP Security プラグインを入れて、下記の設定をオンにしていると、 wp core update をしても常に最新と出てしまう(wp core version で 4.4.2 と最新ではないのに)。あるいは、Segmentation fault という致命的なエラーがでる(手持ちの MAMP環境 on MacOS 10.10.5 , WordPress 4.5 ではこれが出た...)。
  • Remove core update notifications from back-end for all but administrators

回避策


  • Remove core update notifications from back-end for all but administrators
をオフにする。
すると wp core update は正常に動作しました。

Segmentation fault が出る原因は?


MacOS 10.10.5 で MAMP 3.5, WP 0.23.0 の環境での話です。
何故そのようなことになるのか。ちょっと追跡してみました。

wp-scan-security/res/inc/WsdSecurity.php
    public static function fix_removeCoreUpdateNotification()
       ...
       add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
    }

この青文字の部分で問題が起こっていたのでした。
で、これ以上の追跡は時間切れなのでしません〜

User Access Manager プラグイン問題



User Access Manager プラグインを入れていると、wp コマンドを叩く度に実行はできますが、警告がでるので鬱陶しい問題があります。

wp plugin update

Warning: include(/◯◯/wp-content/plugins/user-access-manager/includes/wp-cli.php): failed to open stream: No such file or directory in /◯◯/wp-content/plugins/user-access-manager/user-access-manager.php on line 351

とまぁファイルがないぜ!っていう警告が出るわけですね。
351行目は
include __DIR__.'/includes/wp-cli.php';
です。ないんですよね、、このファイル.....

回避策1


  • このプラグインを削除する


回避策2


  • user-access-manager.php の 「include __DIR__.'/includes/wp-cli.php';」をコメント

//Add the cli interface to the known commands
if (defined('WP_CLI') && WP_CLI) {
    //include __DIR__.'/includes/wp-cli.php';
}

参考


しかしプラグインをアップデートする度にこんなのやってられないので、フォーラムに投稿しておいた。作者が気づいてくれるといいが...


2016年4月14日 @kimipooh

0 件のコメント:

コメントを投稿