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プラグインに該当記述があり、更新版も存在しなかったので、プラグインを外して対応した。
(279)