FuelPHP の locale エラー

スポンサーリンク

概要

FuelPHP で、下記のようなエラーが出ることがあります。

WARNING - 2022-09-18 15:22:19 --> Fuel\Core\Fuel::init - The configured locale ja_JP.utf8 is not installed on your system.

このエラーは FuelPHP の問題では無く、その OS 環境に問題があります。
具体的には、エラーメッセージとして出力されているとおり、OS 上で ja_JP.utf8 のロケールが設定されていないことが問題となっています。

自分の経験上では、通常は OS 上で設定されているのでこのエラーが出ることはないのですが、docker などを使った際にはよく出ますね。

対応方法

php-apache の場合

docker の php-apache イメージを使った際にもこのエラーが発生するので、その対応方法のメモです。
下記がこの問題に対応した Dockerfile の例です。

FROM php:7.4-apache

RUN apt-get update && \
    apt-get install -y libpq-dev libonig-dev locales

RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
ENV LANG=ja_JP.UTF-8

php-apache のベースは Debian なので、上記のような設定になっています。
CentOS や Ubuntu ベースのイメージの場合には、また違った設定方法になります。

コメント

タイトルとURLをコピーしました