LoginSignup
30
24

More than 5 years have passed since last update.

CakePHP3でintl導入時につまずいた事

Last updated at Posted at 2017-03-01

CakePHP3では動作環境にintlが無い、もしくは有効になっていないと動かせないので導入が必要。

ちょっとつまずいた点をメモ書き。

PHP intlが有効かどうか確認

まずこのコマンドで有効化されてるか確認。

filename.rb
php -i | grep intl

もし有効ならば、こんな結果が表示されるはず...

filename.rb
php -i | grep intl

//実行結果
/etc/php.d/20-intl.ini,
intl
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0

もし表示されなければintl導入。

PHP intl導入と有効化

自分の場合、PHP7.0だったので、それに対応するものを導入。

filename.rb
//導入可能なintl検索
yum list | grep intl

//インストール
yum install php70-php-intl.x86_64

大抵のコレだけでintl有効、もしくはphp.iniに以下追記で有効化される。

filename.rb
extension=php_intl.dll

自分の環境では有効化されなかったので、そもそもextension_dirにモジュール追加されているのか確認してみると、別のディレクトリに格納されていた。

filename.rb
;extension_dirのパス
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules

;intlが格納されてたパス
/opt/remi/php70/root/usr/lib64/php/modules/intl.so

多分remiから持ってきたので、remi配下に格納されたっぽい。

こーゆー時はextension_dirにコピペするか、フルパス指定のいずれかで解決。

filename.rb
extension=/opt/remi/php70/root/usr/lib64/php/modules/intl.so

今回はphp.iniに以下追記で解決。

30
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
24