CentOS6は2020年末でサポート終了するため、CentOS7にシステムを移行しました
※CentOS6のサポート終了時期は下記ブログを参照
CentOS7に移行したシステムを動作させると「Strict Standards」エラーが出力
CentOS6の時は出ていなかったのに?なぜか調査しました
調査
PHPのエラー設定が怪しいと思い、 error_reporting を確認
【CentOS6】
error_reporting = E_ALL
【CentOS7】
error_reporting = E_ALL
→CentOS6 と CentOS7 は、どちらも同じ設定値でした
phpのバージョンを確認
【CentOS6】
php 5.3
【CentOS7】
php 5.4
→phpのバージョンに差があり。error_reportingの仕様が変更されているか確認
PHP 5.3.X と PHP 5.4.X の差分
→このページを確認すると error_reporting の仕様が変わったことを確認
→「error_reporting において、 E_ALL に E_STRICT を含むようになりました。」
結論
「Strict Standards」エラーは E_STRICT があることで出るエラーであり、CentOS7でPHP5.4になり、E_ALLにE_STRICTが含まれるようになったため。
error_reporting の設定値を下記に変更することで、出力されなくなったことを確認
error_reporting = E_ALL & ~E_STRICT
まだCentOS6を使用してシステムを動作させているところもあると思います。CentOS7へ移行する際のトラブル解決の一つとして参考にしていただければと思います
では