サーバリプレースを行い、PHP5.1→PHP5.4 にバージョンが上がったのですが、下記のようなエラーが error_log に記録されるようになりました。
PHP Fatal error: Call-time pass-by-reference has been removed; If you would like to pass argument by reference, modify the declaration of setValue().
これは、参照渡しのときに引数に指定する & 記号は、呼び出し側ではなく呼び出される側につけなければならない、というものです。
PHP5.3 までは、呼び出し側で setValue(&$value); というような指定をしてもエラーにならなかったのですが、PHP5.4 からは、エラー扱いになりプログラムの実行がそこで止まってしまいます。
対応としては、呼び出し側と呼び出される側の参照渡しの書き方を見直して修正を行いました。
0件のコメント