PHP8.4 & CodeIgniter4でDateTimeImmutableエラー
CodeIgniter4.4.4がPHP8.3だと正常に動作していたが、PHP8.4の環境だと「must be compatible with DateTimeImmutable::createFromTimestamp」という致命的エラーが発生した。以下に対応方法をメモ。
エラーメッセージ全文
Fatal error: Declaration of CodeIgniter\I18n\TimeTrait::createFromTimestamp(int $timestamp, $timezone = null, ?string $locale = null) must be compatible with DateTimeImmutable::createFromTimestamp(int|float $timestamp): CodeIgniter\Autoloader\Autoloader in /path/to/codeigniter4/system/I18n/TimeTrait.php on line 266
対応方法
「/path/to/codeigniter4/system/I18n/TimeTrait.php」の266行目を以下の通り変更する。
# 変更前 public static function createFromTimestamp(int $timestamp, $timezone = null, ?string $locale = null) # 変更後(第1引数の宣言を追加) public static function createFromTimestamp(int|float $timestamp, $timezone = null, ?string $locale = null)
参考サイト
https://www.gray.me.uk/codeigniter/codeigniter-4-fresh-install-timetrait-error
関連記事
-
-
Codeigniter4で独自・外部ライブラリの作成と呼び出し方法
Codeigniter4で独自ライブラリを作成し、コントローラー側で呼び出したい ...
-
-
CodeIgniter4で祝日一覧APIにCURLでリクエストし結果をファイルキャッシュする方法
Codeigniter4.4.4で祝日一覧APIにCURLでリクエストしたい。尚 ...
-
-
CodeIgniter4.4.4のインストールからHello Worldページ表示まで行う方法
以前CodeIgniter3を勉強したことがあったが新バージョンの4系がリリース ...
-
-
CodeIgniter3で共通の変数と定数を設定する方法
CodeIgniter3系で共通する配列が入った変数と、定数を設定したかった。以 ...
-
-
Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
CodeigniterでCSSやJSファイル等の外部ファイル読み込みたかった。ま ...