DEBUG

PHPのバージョンを上げた弊害として、
プラグインなどの機能でエラーが発生したり、
管理画面で使えない機能が出てきたり。。。
お決まりのパターンですね。

以前から気づいていましたが、PHPの
新バージョンに対応しないプラグインを外したり、
公開している分に大きな不具合が生じていないため
気づかないふりをしていました。。。(笑
ところが急にサイト内検索ができなくなりました。

拙作ブログは備忘録的な意味合いが大きく、
例えば設定作業のコマンドを連ねておけば
外で同じ作業をする時に引っ張り出して
コピペで出来るなどというような使い方をします。
でも検索できなければ備忘録にはなりませんよね。。。
で、いよいよ本腰を入れて手を付けてみることに。

まずはお詫び

PHPのエラー原因を探るために、DEBUGモードにすると
PHP構文の文字列が表示されていたはずで、
なんじゃこりゃ・・・状態だったと思います。
また解決するまでの間、主にプラグインを編集したり
削除・再インストールなどを行ったので、一時は
グジャグジャでしたがご勘弁ください。

やったこと

例えば参照渡しで変数に代入ができなくなったnew文の
&newから&を削除する・・・などと書くと実に簡単そうですが、
PHPのバージョンが上がった際、早期からの既知の不具合で、
編集箇所も分かっているやつであり、ググっても引っかからない
やつは自力で探していろいろやってみるしかなく、実は今回は
その数が多すぎでした。(泣

実は旧バージョン時代にPHPを手作業で編集した部分も
多々あり、それらの構文がマッチしなくなったという
こともあったので大変でした。。
どこをどのように編集したのかなんて到底覚えてはいないし、
DEBUGメッセを頼りに不具合を探すしかありませんでした。

プラグインに関するものが圧倒的に多く

Deprecated: load_plugin_textdomain was called with an argument that is deprecated since version 2.7.0 with no alternative available. in パス/wp-includes/functions.php on line 5007
なんてのが何行にも渡り出ています。
すべてのラインが
E_USER_DEPRECATED
となっていたのでこれは根本的な不具合と言うより
非推奨の構文に対する警告でしょう。
で、目を凝らして見ていくと大量のDeprecatedに埋もれて
Fatal errorという文字を見つけました。@←コイツだぁ!
エラーはいくつかあり、いろいろなところを指し示して
いますが、どぉやら元凶はwp-multibyte-patchみたい。

本来プラグインは所定の場所に置いておきさえすれば、
管理画面で有効・無効や設定・削除などが出来るという
手軽さなのですが、バージョンミスマッチの不具合で、
これらの操作がすべてエラーになってしまいました。
つまり削除も無効にもできない。。。
そこでサーバーからいきなり削除は怖いので、Renameし
リロードしてみると、管理画面で削除にはならないものの
読み込めないので無効になってくれ、この状態からは
削除が可能でした。
どこをどぉすればそのような振る舞いになるのでしょうね。

で、動かなかったいろいろな機能を試したところ
主だったものはほぼ復活してくれました。ホッ!@安堵のため息
細かいところもチマチマ作業でエラーにならなく
なってくれました。

非推奨構文についてはWordpressオリジナルの
ものですから、そのうちバージョンアップで解消
されるので、下手にいじらずに待ちの姿勢です。w

おまけ写真

トランスと電解Cが乗っかりました。
PHP騒動で時間がなく未配線ですけど。。

DSC_0236


左上のユニット試験用チビトランスは
お役御免になります。

HOME

おすすめ