厳密な標準モードは、コードが技術的に正しくない特定のことを実行したときに警告メッセージをスローするように指示するPHP設定です。
ただし、PHPはこれらの問題に対処できます。質問のメッセージに従って、PHPはこの場合のコードについて推測し、続行することができます。
これらの厳密なモードの警告は常に存在します。5.2ではなく5.4で取得する理由は、5.4ではデフォルトで有効になっているのに対し、5.2ではデフォルトでオフになっているためです。
基本的に、新しいバージョンごとに、PHPは時代遅れまたは不十分なプログラミング慣行について徐々に厳しくなっています。これは一般的には良いことですが、アップグレードすると古いコードに問題が残ります。
ただし、厳密モードは必須ではありません。無効にすることができます。したがって、厳密モードに関する警告しか表示されない場合、問題に対処する最も簡単な方法は、モードをオフにすることです。
これは、PHP.ini
または.htaccess
ファイルで、またはPHP自体で。を使用して行うことができますini_set()
。
- PHP.ini:
error_reporting=30719
- .htaccess:
php_value error_reporting 30719
- PHPコードで:
error_reporting(E_ALL & ~E_STRICT);
(30719はE_ALL
(32767)からE_STRICT
(2048)を引いたものに相当しますが、E_ALLおよびE_STRICTという名前はiniファイルでは無効であるため、数値を使用する必要があります)
一般に、システムを厳密モードの警告を発生させないソフトウェアにアップグレードすることをお勧めします。たぶん、Joomlaの新しいバージョンがこれに役立つでしょう。ただし、短期的には、これにより厳密モードの警告が表示されなくなり、新しいPHPバージョンへの移行に役立つことが期待されます。
お役に立てば幸いです。