CakePHP

解決!You must enable the intl extension to use CakePHP

 


 

はじめに

CakePHP3をインストールして最初の山場が「You must enable the intl extension to use CakePHP」ではないでしょうか?

Intlとは国際化用の拡張モジュールで、その国・地域に合わせた日付・文字列・数値などを扱えるようにするものです。

Intlの読み込みをコメントアウトしてしまえばエラーは消えますが、やはりスッキリ解決して開発を進めたいですよね。

インストールするのが面倒、とりあえずCakePHPを少し動かしてみたいというという方は、config/requirements.phpのif (!extension_loaded(‘intl’)) の箇所をコメントアウトすると、エラーが消えてCakePHPを使うことができます。

 

Intlを使うにはICUライブラリもインストールする必要があるので、ICU→Intlの順番でインストールしていきます。

解決方法を2つ書きましたので、順番にお試しください。

 
 

動作環境

macOS High Sierra
XAMPP 7.0.26
CakePHP3
 
 

解決方法 – その1 –

Step1: ターミナルでHomebrewがインストールされているか確認する

Users-MacBook:~ user$ which brew

/usr/local/bin/brew と表示された場合はStep3へ
not found の場合はStep2へ
 
 

Step2: Homebrewをインストールする

https://brew.sh/にアクセスし、”Install Homebrew”のすぐ下にあるスクリプトをコピペして実行します。

Users-MacBook:~ user$ ここに貼り付けます

 
 

Step3: PHPのパスを確認する

Users-MacBook:~ user$ which php

/usr/bin/php と表示された場合はStep4へ
/Applications/XAMPP/xamppfiles/bin/php の場合はStep5へ
 
 

Step4: パスを変える

Users-MacBook:~ user$ PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}"

 
 

Step5: icu4cをインストールする

Users-MacBook:~ user$ brew install icu4c

 
 

Step6: intlをインストールする

Users-MacBook:~ user$ sudo pecl update-channels
Users-MacBook:~ user$ sudo pecl install intl

 
 

"Cannot find autoconf"と表示された場合はautoconfをインストールします。

Users-MacBook:~ user$ brew install autoconf

 
成功した場合はStep7へ
インストールできなかった場合は、解決方法 – その2 -へ
 
 

Step7: intlを有効化して、XAMPPを再起動

/Applications/XAMPP/xamppfiles/etc/php.ini を開き、extension=intl.soを見つけます。

;extension=intl.so

extension=intl.so   // 行頭のセミコロンを外します

XAMPPを再起動して完了です!
 
 
 

解決方法 – その2 –

上記の方法でインストールできない場合があったので、もう一つの方法を紹介します。

注意

2018年8月時点で、この方法ではインストールできなくなっているようです。(未確認ですが、PHP7ではインストールできる場合もあるようです。)XAMPPにこだわる必要がない場合は、思い切ってMAMPに乗り換える方が簡単だと思います。

 

1. ターミナルで新規ウィンドウを開く

 

2. インストール可能なintl versionを検索する

Users-MacBook:~ user$ brew search intl

 
以下のように表示されます。

homebrew/php/php53-intl     homebrew/php/php55-intl     homebrew/php/php70-intl
homebrew/php/php54-intl     homebrew/php/php56-intl     homebrew/php/php71-intl

 
 

3. XAMPPのPHPバージョンに合わせて、Intlをインストールする

Users-MacBook:~ user$ brew install homebrew/php/php70-intl

 
 

4. intlを有効化して、XAMPPを再起動

/Applications/XAMPP/xamppfiles/etc/php.ini を開き、extension=intl.soを見つけます。

;extension=intl.so
extension="/usr/local/Cellar/php70-intl/7.0.27_24/intl.so" ←インストールしたバージョンに合わせて書いてください

XAMPPを再起動して完了です!
 
 
 

参考リンク

https://stackoverflow.com/questions/27886117/php-intl-installation-on-xampp
https://stackoverflow.com/questions/36408338/compiling-php-intl-extension-on-mac-book-pro-el-capitan-10-11-4
 
 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA