WordPressで「Fatal error: Call-time pass-by-reference has been removed in /export/sd09/www/jp/r/e/…simple-lightbox」となった時の解決方法

WordPressで「Fatal error: Call-time pass-by-reference has been removed in /export/sd09/www/jp/r/e/…simple-lightbox」となった時の解決方法

WordPressで「Fatal error:…」と突然表示

とあるWordPressのサイトで、特に何もしていないはずなのに突然「Fatal error: Call-time pass-by-reference has been removed in /export/sd09/www/jp/r/e/★WordPressがインストールされているディレクトリ★/wordpress-2.8.2-ja-undernavicontrol/wp-content/plugins/simple-lightbox/includes/class.utilities.php on line 40」と出てしまいました。

原因はさておき、先に解決方法から説明します。

1.エラーの内容を良く確認する

エラーの最期の部分に着目すると「plugins/simple-lightbox/includes/class.utilities.php on line 40」と確認できます。これがエラーの原因です。

2.エラーの原因のファイルを開いて確認する

エラーの通りに辿ると原因に行き着きます。一応細かく説明してみます。

wp-content(というフォルダの)

plugins(というフォルダの)

simple-lightbox(というフォルダの)

includes(というフォルダの)

class.utilities.php(というファイルの)

on line 40(40行目)

ということで、問題のファイルの40行目を確認してみると以下のようなコードが、

このコード内の「&」を削除すれば、それだけで直ります。

つまり

理由は「PHP5.4」からの新仕様にあった

こういうのに詳しいいわく、PHP5.4からの新しい仕様が原因だったそうです。今回の私のケースでは「simple-lightbox」というプラグインが原因でしたが、どうも他のプラグインでも同じような現象が起きている様子です。どうやらお名前.COMの「共用サーバーSD」でこの現象が多く起こっている様子。

そこで調べてみたところ…

お名前.com「共用サーバーSD」のPHPが「5.5.9」になっていた

2014年05月01日(木)掲載

【重要】【共用サーバー SD】 PHP5.2提供終了のお知らせ

平素はお名前.comレンタルサーバーをご利用いただきまして、誠にありがとうございます。

このたび、共用サーバーSDにてご利用いただいているPHP5.2の提供を終了させていただく運びとなりました。

PHP5.2はPHP自体のサポートが終了しており、脆弱性などセキュリティーを考慮した対応となりますので、何卒ご理解賜りますようお願い申し上げます。

【変更内容】
PHP5.2をPHP5.5へ変更いたします。

【作業予定日】
2014年6月16日~2014年6月30日
※順次作業を実施いたします。

【影響】
●共用サーバーSDですでにご利用中のドメイン
PHP5.2を設定されているドメインは、本作業後、PHP5.5に設定変更されます。

※現在、PHPのバージョンはコントロールパネルよりPHP5.4もしくはPHP5.5への設定変更が可能です。詳細はこちら

PHP5.2以下に対応したプログラムをご利用の場合、PHPが正常に動作せず、ホームページが正常に表示できない等の影響が生じる場合がございます。

●今後、新たに共用サーバーSDに申し込み/追加設定されるドメイン
初期状態でPHP5.5が設定されている状態となります。

※セットアップ完了後、PHP5.4への設定変更は可能です。

【事前の動作確認のお願い】
コントロールパネルにログインいただき、PHPバージョン選択より「PHP5.5.x」を選択のうえ、ご利用プログラムが動作するかご確認をお願いいたします。
動作しない場合は、PHP5.5またはPHP5.4にて動作するよう該当プログラムの修正をお願いいたします。

引用元:http://www.onamae-server.com/support/news/detail.php?nid=15805

まさにこれが原因だったようです。私のところは比較的簡単なエラーで助かりましたが、もっと大変なサイトもあったかもしれませんね。今回は私ののケースというところで直し方を共有してみましたが、深刻な場合は是非専門家にご相談することをおすすめします。