本日Wordpressでトラブル発生し、改善したので備忘録としてメモ。
Call-time pass-by-reference エラー発生
WordPressで複数サイトを運用していますが、そのうちの1つ(ほぼ放置サイト)に久しぶりにアクセスすると、画面が真っ白で、以下のようなエラーが表示されていました。
”Fatal error: Call-time pass-by-reference has been removed”・・・ はじめてみるエラーで、あわてて管理画面にアクセスしたところ、そちらも真っ白で何もできない状態です。
こんな時はグーグル先生は大変頼もしいです。解決方法がみつかりました。
どうやらエラーはPHP5.4にアップデートしたことにあるようです。
古いプラグインのなかにはPHP5.4に対応していないものもあり、またPHP 5.4 では、”Call-time pass-by-reference (関数呼び出し時の強制参照渡し) 機能が削除されていた(by dogmap.jpさん)”ようです。
古いプラグインのなかにはPHP5.4に対応していないものもあり、またPHP 5.4 では、”Call-time pass-by-reference (関数呼び出し時の強制参照渡し) 機能が削除されていた(by dogmap.jpさん)”ようです。
そういえば、こちらの放置サイトでないサイトでプラグインがPHP5.4以上対応だったため、少し前にPHP Ver.切替を行ったところでした。
放置サイトはWordpessの3.1.2で運用しており、そのままバージョンアップもしなかったため、知らないうちにこの制限にひっかかりプラグインが原因でエラーとなり管理画面にさへもアクセスできなかったのです。
管理画面にアクセスできないため、エラー原因になっているプラグイン(エラーのURLに名称が記載されているプラグイン)を停止や削除することは当然できません。
こんな時はFTPソフトで該当ディレクトリにアクセスして、直接プラグインをフォルダ毎削除するとOKです。
さらに問題発生 管理画面にアクセスできず
一通りFTP経由で問題となるプラグインを削除して、正常にサイトが表示されることを確認できました。
が・・・さらに問題発生。
管理画面にアクセスしようとしたところ、管理画面メニュー左側は表示されるものの、肝心の画面は真っ白のまま。
何もできない状態です。
ただこの問題はWordpessが古いバージョンだったためで、管理画面からは上書き再インストールできません。
そこで、現在のPHP5.4.26から、旧環境で動いていたPHP5.3.3環境にPHPバージョンを戻すと、白い画面は解消して旧Wordpressのバージョンでも管理画面にアクセスできるようになりました。
すかさず管理画面よりWordpressを最近の3.9.2にアップデート。
その後PHPを5.4.26に再度切り替えて、削除したプラグインをインストール、その他プラグインもアップデートして問題解消しました。
その後PHPを5.4.26に再度切り替えて、削除したプラグインをインストール、その他プラグインもアップデートして問題解消しました。
参考:
Balance Note
突然Word pressの管理画面が真っ白になった時の対処法
突然Word pressの管理画面が真っ白になった時の対処法