質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.23%

cakephp bakeしても intl 関係のエラー

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 5,400

maeyoake

score 11

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も⬇︎のように追記し、

イメージ説明

さらに⬇︎のようにintlがインストールされたかも確認し

イメージ説明

もう一度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

これ以上できることがありません。どうすればいいですか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

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 モジュールは、有効化されています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/01/31 14:05

    php -vで調べたところ、PHP 5.5.30 を使っているようです。

    intl以下の記述は、探しましたがありませんでした(涙)
    モジュールが有効化されていないようです。

    どうすればいいのでしょうか?


    キャンセル

  • 2016/01/31 16:18 編集

    コマンドラインから

    php -r 'phpinfo();' | grep 'php.ini'

    として、php が、どの php.ini ファイルを使っているか調べてください。

    Loaded Configuration File => /etc/php.ini

    こんな感じの行があります。



    見つかった php.ini に

    extension=intl.so

    を追加してみてください。

    キャンセル

  • 2016/01/31 17:40 編集

    Configuration File (php.ini) Path => /etc

    と出たのでetcのフォルダの中にある 

    php.ini.default
    php.ini.default-5.2-previous
    php.ini.default-5.2-previous-orig

    のすべての830行目あたりに

    extension=intl.so

    と書き加え、
    さらにその下方にある

    extension=php_intl.dll

    のセミコロンも取り、MAMPを再起動させてbakeに挑みましたが、
    また同じ

    Fatal error: You must enable the intl extension to use CakePHP. in /Applications/MAMP/htdocs/cake/config/bootstrap.php on line 38

    が出てしまいました(汗)

    キャンセル

  • 2016/02/01 14:52

    バージョンが違うphpをいじくってもダメみたいですね。
    新しく質問しなおしました。

    https://teratail.com/questions/26144?complete=

    キャンセル

0

http://www.1x1.jp/blog/2012/05/php_54_for_mac_os_x_as_binary_package.html

ここでphpのバージョンを更新したらできました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る