XAMPPでCakePHPを使えるようにしたい!~intl.soをインストールするまで~

こんにちはtorimilarです。

最近、職場でCakePHPを使うようになったので勉強しようと「CakePHP 超入門*1」を購入して意気揚々と本の通りに進めることに!

しかし、まさかのChapter1でつまづくことに。。。(笑)

今回は備忘録として、XAMPPでCakePHPを使えるようにするところまでをまとめたいと思います。

背景

CakePHP 超入門」を進めるにあたって、まずぶち当たる壁が「brew install homebrew/php/php71-intl」コマンドでエラーが出て、先に進めない。。。

Google先生に頼りまして、こちらのサイト*2を発見、どうやら上記コマンドすでに使えなくなっているということ。。。

brew install php@7.1」コマンドを使うと上手く行きました。

ローカルにプロジェクト「mycakeapp」を作成。

いざ、CakePHPのページへアクセス。

f:id:torimilar:20191013112127p:plain

おおっ!できました。いい感じです!

さぁ、続いて作成した「mycakeapp」フォルダをXAMPP内フォルダに移動させて、CakePHPのページへアクセス。。。

f:id:torimilar:20191013112419p:plain

エラーだ!

どうやらintlが有効になってませんよ〜というようなエラー。

はぁ、またGoogle先生か。

このブログでは、XAMPPでCakePHPを動かすまでの手順をまとめたいと思います。

原因

「Fatal error: You must enable the intl extension to use CakePHP. in /Applications/XAMPP/xamppfiles/htdocs/mycakeapp/config/requirements.php on line 31」といったエラーメッセージが出ています。どうやら『intl』というものが有効になっていなことが原因だそうです。

調べてみると、『intl.so』をXAMPPフォルダ内に格納してあげて、設定ファイルをちょこっちょこっといじるだけで、上手くいくそうです。

「intl」なら序盤でインストールしたはず!と思って、Mac内のどこかにあるはずの『intl.so』を探し始めましたが、見当たらずだったので、『intl.so』をインストールするところから始めます。

解決方法

 

XAMPP内のPHPのversionを確認しよう!

XAMPP内のPHPのversionにあわせて『intl.so』をインストールしないといけないので、まずは、XAMPP内のPHPのversionを調べました。

まずは、以下のURLからPHPのversionを調べます。

http://localhost/dashboard/phpinfo.php

f:id:torimilar:20191013114929p:plain

PHPのversionは「7.3.8」ということがわかりました!

 

intl.soを入れよう!

『intl.so』をインストールするためには、Macの場合macportsを使うと正しく入れられるそうなので、以下コマンドをたたいていざインストール!

sudo port install php73-intl

macportsを使えないという場合は、まずはxcodeを入れる必要があるので、詳しくはこちらのサイト*3をご覧ください。

 

XAMPP/xamppfile/lib/php/extensions/にintl.soを格納しよう!

正しくインストールが完了したら、以下フォルダに『intl.so』が存在しているはずなので、XAMPP内のフォルダに移動させます。

 

インストール先

/opt/local/lib/php73/extensions/no-debug-non-zts-20180731

 

移動先フォルダ

/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20180731 
php.iniに「extension=XAMPP/xamppfile/lib/php/extensions/〜」を追記しよう!

続いて、移動させた『intl.so』を読み込むように設定ファイルをいじります。

以下フォルダ内に存在する「php.ini」を編集します。

 

php.ini」が存在するフォルダ

/Applications/XAMPP/xamppfiles/etc

 

php.ini」に追記する内容

extension=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20180731/intl.so

 

Appachを再起動しよう!

さて、これで準備はできましたので、Appachを再起動してCakePHPのページに移動してみます!

f:id:torimilar:20191013123232p:plain

やったーーーーーーー!

上手くいきました!!!

はぁ、最初の環境構築とか設定ファイルがどうとかって苦手なんですよね。

3日くらいは悩んだわけですが、わからなければ会社にいる超絶スーパーエンジニアに聞いたりするのもいいかもですね。

 

(参考)

Mac XAMPP CakePHP3 インストール – マイヤーの開発ブログ

 

*1:

CakePHP 超入門

CakePHP 超入門

*2:

qiita.com

*3:

blog.asial.co.jp