PHPを更新したらWPが止まった

 PHPをremiリポジトリから更新したらこのWPが止まってしまった。
 エラーログを確認すると、

PHP Fatal error : Call-time pass-by-reference has been removed

と言うメッセージ。

 PHPでのレファレンス渡しは

function func($var, &$ref){

}

の様に関数定義時に&記号を前置して書くとレファレンス(関数内部で$refに変更を加えると、呼出元の変数が変化する)になる。

 コールタイムレファレンスは

function func($var, $ref){

}

に対して、

func($a, &$b);

のようにしてコールして、呼び出し側でレファレンス渡しを要求する動き。
 レファレンスで処理したい場合と、したくない場合がある関数で使えば便利なのかもしれないけど、セキュリティ的問題点もある実装形式。
 で、新しいPHPでは、実行時レファレンスが無くなったので、プログラムを修正しないと動作しない。

 今回はWPプラグインのSEO CONTENT CONTROLプラグインに該当記述があり、更新版も存在しなかったので、プラグインを外して対応した。

(6)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP]   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です