CakePHP3 | DateTime関連のWarning警告の対応方法

エラーメッセージ

実行時に、下記の警告表示がされる場合があります。

CakePHP3 | DateTime関連のWarning警告の対応方法

Warning (2): Declaration of Carbon\Carbon::setTime($hour, $minute, $second = 0) should be compatible with DateTime::setTime($hour, $minute, $second = NULL, $microseconds = NULL) [ROOT/vendor/nesbot/carbon/src/Carbon/Carbon.php, line 0]

include - ROOT/vendor/composer/ClassLoader.php, line 444
Composer\Autoload\includeFile - ROOT/vendor/composer/ClassLoader.php, line 444
Composer\Autoload\ClassLoader::loadClass() - ROOT/vendor/composer/ClassLoader.php, line 322
spl_autoload_call - [internal], line ??
include - CORE/src/I18n/Time.php, line 29
Composer\Autoload\includeFile - ROOT/vendor/composer/ClassLoader.php, line 444
Composer\Autoload\ClassLoader::loadClass() - ROOT/vendor/composer/ClassLoader.php, line 322
spl_autoload_call - [internal], line ??
class_exists - [internal], line ??
Cake\Database\Type\DateTimeType::__construct() - CORE/src/Database/Type/DateTimeType.php, line 75
Cake\Database\Type::build() - CORE/src/Database/Type.php, line 106
require - ROOT/config/bootstrap.php, line 202
[main] - ROOT/webroot/index.php, line 27
Qualification

対応方法

この警告表示の原因は、PHP7.1で、Datetimeクラスがマイクロ秒に対応したことにより、メソッドのインターフェースが変わったことによるものです。

簡単な解決方法は、PHPのバージョンを、7.0系にすることで解決できます。
xserverなどでは、サーバーパネルから、PHPのバージョン切り替えが簡単にできます。

PHPバージョン切替

スポンサーリンク