WordPressでトラブル発生 「Fatal error: Call-time pass-by-reference has been removed」の対処

この記事の所要時間: 221


Wordpress

本日Wordpressでトラブル発生し、改善したので備忘録としてメモ。

スポンサーリンク

Call-time pass-by-reference エラー発生

WordPressで複数サイトを運用していますが、そのうちの1つ(ほぼ放置サイト)に久しぶりにアクセスすると、画面が真っ白で、以下のようなエラーが表示されていました。

エラーメッセージ fatal

”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 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に再度切り替えて、削除したプラグインをインストール、その他プラグインもアップデートして問題解消しました。
参考:

スポンサーリンク
この記事を書いたのは

この記事を書いたのは

dalahast_shikaku2

dalahast(ダーラヘスト; @dalahastjp)です。ほぼ週末限定の趣味のお料理以外に日々の暮らしのなかで興味をもったこと等を 気の向くままに徒然に綴っています。
詳しいプロフィールはこちら

宜しければフォローお願いします!
この記事をお届けした
dalahast.jp 週末限定ビストロパパの日常関心空間の最新ニュース情報を、
いいねしてチェックしよう!

宜しければこの記事をシェア御願いします!

スポンサーリンク