cakephp3インストール方法! intlエラーの直し方
こんにちは!cakephp3を始めたい!と思って検索すると、「簡単に始められるよ。」という記事がたくさん出てきます。
それならやってみようと思いきや、全然うまくいかない。
intlがどうこうってエラーに三日近く悩みました。笑
解決したのでその直し方を書いていきます。
環境
mac os X 10.11
XAMPP
cakephpをダウンロードできるサイト Tags · cakephp/cakephp · GitHub
ここでダウンロードできた方は localhost/cakephp/ で起動してみてください。
こんな感じの画面になれば成功なのですが・・・・・。
この方と同じエラーにはまりました。
Fatal error: You must enable the intl extension to use CakePHP. inC:\xampp\htdocs\cakephp3\config\bootstrap.php on line 38
こんな感じのエラーが出た場合
php.ini に extension=intl.so の一行を追加してください。
これでも開けなかった場合の解決策を紹介します。
intlがどうこうというエラーが出た場合、
intlをインストールする作業をしなければならないようです。
まずは、intlを探します。
$ sudo find / -name *intl.so
intl.soがあれば、ページ下部の◯マークへ
なければ、このまま先へ読み進めてください。
macportsをインストールしてください。
MacPortsの基本的な使い方とコマンド : アシアルブログ
インストールできたっぽくなったら、
$ sudo port version
→Version: 2.3.4
こんな感じで返って来れば完了できています。
$ sudo port install php56-intl
これでintlが入ります。
しかし、まだです。
このintlが入っているcakephpを作らねばなりません。
まずcomposerをインストールしてください。
$ php composer-setup-php --install-dir=bin --filename=composer
開発ディレクトリに移動します。
XAMPPの場合はhtdocsですね。
そこで、
$ curl -s https://getcomposer.org/installer | php
composer.pharを作成
$ php composer.phar create-project --prefer-dist cakephp/app cakephp
これで、cakephpをインストール
しようとすると・・・エラー発生。
こんな感じに表示されます。
PHP Warning: PHP Startup: Unable to load dynamic library '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/intl.so' - dlopen(/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/intl.so, 9): image not found in Unknown on line 0
あるはずの場所にintl.soないじゃんか!って意味みたいです。
というわけで、あるはずの場所、
'/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/intl.so'
に、intl.soを入れます。
ファインダーで「intl.so」を検索。
コピーで、上記のディレクトリへ移動。
その後、さっきインストールしようとしてエラーになったcakephpを削除し、
再度cakephpのインストール。
$ php composer.phar create-project --prefer-dist cakephp/app cakephp
これでうまくいったはずです。
localhost/cakephpでかっこいいページに飛びます!
おめでとう。
これで数日間悩みました。
cakephp諦めようかとも思いました。笑
初心者にとっては挫折ポイントみたいですね。。。
環境構築は一つの壁に過ぎないので、今後もプログラミングさらにできるように頑張ります!