Follow Us:

WordPress ワードプレスのエラー解説:Fatal error: Call-time pass-by-reference has been removed

  •  更新日:

Call-time pass-by-reference has been removedの意味

Call-time pass-by-referenceという関数の特殊な機能はPHP5.4では削除されました。
Call-time pass-by-referenceとは関数への変数を引き渡しして直接書き換える事のできる機能です
例:
function plusone( &$x )
{
$x=$x+1;
}

$a = 1;
plusone( $a );
echo $a; // 2と出力されます

考えられるエラーの原因

PHPの5.4以降では、この関数の書き方が削除されています。ゆえに、プラグインなどで&を含む関数引き渡し機能が使用されているとエラーとなります。

エラーの対処方法・修正方法

該当のプラグインを削除する

プラグインが更新されておらず、PHP5.4以上に対応していない場合、このプラグインを削除します。または、関数を書き換えてエラーがでないようにする事も可能です。

function plusone( $x )
{
$x=$x+1;
return $x; //return で値を返す
}
$a = 1;
$a = plusone( $a ); //変数で受け取る
echo $a; // 2と出力されます

エラー文字列のなかにどのプラグインがエラーを出しているか表示されています。

例:
/wp-content/plugins/wp-multibyte-patch/

PHP5.2~5.3でCall-time pass-by-referenceを許可する

または、PHP5.2~5.3であるならばCall-time pass-by-referenceを許可する事も可能です。php.iniに下記のように記載します

php_flag allow_call_time_pass_reference on

WordPress ワードプレスのエラーの修正のご依頼はワードプレスドクターまでお気軽にどうぞ [お見積もりは無料です]


関連タグ:

Wordpress ワードプレス ドクターBlog タグ一覧

© 2015-16. «WP Doctorワードプレスドクター». All right reserved.