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