質問: mac MAMP Sqlite の環境でターミナルで /Applications/MAMP/htdocs/cake bin/cake bake model persons //personsと言うテーブル名をSQLite Browserで生成 という風にbakeを実行したところ、 Fatal error: You must enable the intl extension to use CakePHP. in /Applications/MAMP/ht docs/cake/config/bootstrap.php on line 38 と出たので、intlを拡張しようと sudo yum install icu libicu-devel の実行は成功しましたが、 sudo pecl install intl を実行しても [vagrant@localhost ~]$ sudo pecl install intl sudo: pecl: コマンドが見つかりません となり、失敗したので、 その対処法として yum install php-pear yum install php-devel を実行したが [vagrant@localhost ~]$ yum install php-pear 読み込んだプラグイン:fastestmirror このコマンドを実行するには root である必要があります。 [vagrant@localhost ~]$ yum install php-devel 読み込んだプラグイン:fastestmirror このコマンドを実行するには root である必要があります。 と出たので、[root@localhost ~]で実行したら成功し もう一度 sudo pecl install intl を実行したら 参照サイトと同じエラーが出たので そのサイトの解決方法と同じように sudo yum install --enablerepo=remi --enablerepo=remi-php56 -y php-intl を実行したら成功し、 いくつかあるphp.iniのすべてにextension=intl.soも⬇︎のように追記し、 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/24319738d7ee3c4ee0e9973a0bacef9a.png) さらに⬇︎のようにintlがインストールされたかも確認し ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/c745554476ab7441714d31129bad1aad.png) もう一度MAMPを立ち上げてターミナルからbakeしたら また Fatal error: You must enable the intl extension to use CakePHP. in /Applications/MAMP/ht docs/cake/config/bootstrap.php on line 38 が出てしまいました。 sudo yum install --enablerepo=remi --enablerepo=remi-php56 -y php-intl ではなく sudo pecl install intl を実行しなくてはいけないのでしょうか?何度やっても参考サイトのようなエラーが出てしまいます。 ちなみに⬇︎このようにphp.iniに追記しているサイトも発見しましたが、これは実行していません extension=/path/to/intl.so これ以上できることがありません。どうすればいいですか?
回答: yum のコマンドの結果から... インストールされているPHPのバージョンは、5.3.3 で、--enablerepo=remi-php56 を指定して、インストールされた、php を使っていないように思えます。 まずは、 ``` php -v ``` で、php のバージョンを表示してみてください。 その php で、 intl モジュールがインストールされているかは、コマンドラインで ``` php -r 'phpinfo();' ``` を実行すると、動作している php で、使用されている php の情報が表示されます。表示された中に ``` intl Internationalization support => enabled version => 1.1.0 ICU version => 50.1.2 ICU Data version => 50.1 ``` こんな感じの部分はありますか。 「Internationalization support => enabled」と表示されていたら intl モジュールは、有効化されています。