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

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

新規登録して質問してみよう
ただいま回答率
85.51%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

8837閲覧

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

maeyoake

総合スコア37

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

1グッド

1クリップ

投稿2016/01/30 09:21

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

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

ikuwow👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

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

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

投稿2016/02/01 08:37

maeyoake

総合スコア37

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

yum のコマンドの結果から... インストールされているPHPのバージョンは、5.3.3 で、--enablerepo=remi-php56 を指定して、インストールされた、php を使っていないように思えます。

まずは、

bash

1php -v

で、php のバージョンを表示してみてください。

その php で、 intl モジュールがインストールされているかは、コマンドラインで

bash

1php -r 'phpinfo();'

を実行すると、動作している php で、使用されている php の情報が表示されます。表示された中に

php

1intl 2 3Internationalization support => enabled 4version => 1.1.0 5ICU version => 50.1.2 6ICU Data version => 50.1

こんな感じの部分はありますか。
「Internationalization support => enabled」と表示されていたら intl モジュールは、有効化されています。

投稿2016/01/31 01:59

CHERRY

総合スコア25164

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maeyoake

2016/01/31 05:05

php -vで調べたところ、PHP 5.5.30 を使っているようです。 intl以下の記述は、探しましたがありませんでした(涙) モジュールが有効化されていないようです。 どうすればいいのでしょうか?
CHERRY

2016/01/31 07:18 編集

コマンドラインから php -r 'phpinfo();' | grep 'php.ini' として、php が、どの php.ini ファイルを使っているか調べてください。 Loaded Configuration File => /etc/php.ini こんな感じの行があります。 見つかった php.ini に extension=intl.so を追加してみてください。
maeyoake

2016/01/31 09:02 編集

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 が出てしまいました(汗)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問