meideru blog

meideruが書いているブログです。主に電子工作・プログラミング・ガジェット類などを中心に記事を書いています。

MAMPを使ってMacでCakePHP3の開発環境を整える方法

      2016/12/23

昨日、Web開発をもう一度勉強するという話をしました。

改めてWeb開発に挑戦してみようと思う
最近、バイトではWeb開発的なことをやっています。 実は過去にもWeb開発の入門をしたことがあるのですが、結局、今に至るまで役に立っていませんorzしかし、これを機にもう一度やってみようかと思います。今日はそんな話を記事に書きました( ^ω^ )バイトでやっ...

 

開発を行うには開発環境を整える必要があります。

そして、昨日はMac + CakePHP3 + Compser + MAMPで開発環境を整えました。

色々と躓いた点も多かったので、構築方法を記事に書けば少なからず需要があると思います。

是非、参考にしてください(*‘∀‘)

具体的な手順

大きく分けて行う作業は4つです。

  1. Composerのインストール
  2. php70-intlのインストール
  3. MAMPのインストール
  4. CakePHP3のインストール

これで開発環境を構築できます。

Composerのインストール

Composerとは

Composer」とは、PHPのパッケージ管理ツールのことです。(CakePHP)3からは、これを使うことが推奨されています。

これを使えば、CakePHPのインストール・アップデートを容易に行うことができるのです。

使わないとアップデートがあったときに手動で必要なファイルを入れ替えてやる必要があり、とても面倒なのです。

インストール方法

MacOSには、標準でHomebrewというパッケージ管理ソフトが入っています。これを使ってComposerをインストールします。

以下のコマンドを入力してください。

これでComposerがインストールできるはずです。

完了したら「composer -v」と入力してみてください。成功していればバージョンが表示されるはずです。

php70-intlのインストール

次に、php70-intlのインストールを行います。

php70-intlとは

php70-intlとは、PHPの拡張モジュールだそうです。これがないとComposerが動作しないとのこと。

因みに70はPHP7のことです。私はPHP7を使っているので、php70-intlをインストールする必要があります。PHP5などを使っていれば、php50-intlなどを入れる必要があります。

詳しくは調べてみてください。

php70-intlをインストールしないで次の作業を行うと

試しに、php70-intlをインストールせずにComposerを使ってCakePHP3をインストールしてみましょう。

 

「ext-intlが必要だからインストールしろ」というエラーがたくさん出ていますね。

つまり、php70-intlが必要であるということです。入れないとダメだということです。

インストール方法

php70-intlもHomebrewを使ってインストールします。(Homebrewは非常に便利なツールですねw)

 

まずは、php70-intlをHomebrewでインストールできるのか確認してみましょう。以下のコマンドを入力します。

インストールできるintlがたくさんありますね。

私のはPHP7.0なので、php70-intlをインストールします。PHP5.6などを使ってい人は、php56-intlをインストールする感じで、自分に合ったものをインストールしてください。

 

php70-intlをインストールするためには、以下のコマンドを入力します。

 

これで完了です。

MAMPのインストール

MAMPとは、Macで動くLAMP環境のことです。Web開発をしようとしている人がこの記事を読んでいるわけですから、LAMP環境については説明しません。

(他にも同じようなソフトでXAMPPという有名なソフトもあるのですが、Mac + CakePHPでは相性が悪く、ダメでした。詳しくは下の追加情報をご覧ください。)

ダウンロードは以下の公式サイトから行ってください。PROという有料版もありますが、無料版で十分です。

インストール方法や詳しい使い方の説明は割愛します。グーグル先生に聞けばたくさんでてくるので、調べてみてください。

MAMPのダウンロード先

CakePHP3のインストール

それでは目的のCakePHP3をComposerを使ってインストールしてみましょう。

MAMPの公開ディレクトリに移動

まずは、MAMPの公開ディレクトリに移動します。公開ディレクトリはMAMPフォルダ内のhtdocsというフォルダです。ここにcdコマンドを使用して移動してください。(コマンドは省略)

CakePHP3のインストール

次に、PHP3のインストールです。以下のコマンドを入力してください。

公開ディレクトリに移動しているはずなので、そこにインストールされます。

my_app_nameは、フォルダの名前になります。任意の名前に変えることができます。

しばらく時間がかかると思いますが、特にエラーメッセージなどが表示されなければ完了です。

テスト

それでは、CakePHP3が正しくインストールされているかテストしてみましょう。

MAMPのApacheを起動してください。

そして、ウェブブラウザでlocalhostにアクセスします。上のアドレスバーにlocalhostと入力すればアクセスできるはずです。

それで、CakePHP3の画面が表示されれば完成です。

@こんな画面です(バージョンによって異なります)
CakePHP3

 

表示されなかった人は、MAMPのApacheのポート番号を確認してみてください。ウェブブラウザは特に指定がなければ80番のポートに接続するようになっています。

MAMPのApacheのポート番号が8888などであれば、上のアドレスバーにlocalhost:8888と入力してアクセスしてみてください。

追加情報

最初は、Mac + XAMPP + CakePHP3 + Composerで開発環境を整えようと思ったのですが、ダメでした。

MacとXAMPPの相性が悪かったようです。

CakePHP3 をComposerでインストールしてみても、ブラウザに

「Fatal error: You must enable the intl extension to use CakePHP. in /Applications/XAMPP/xamppfiles/htdocs/bookmarker/config/bootstrap.php on line 27」

というメッセージが表示されてダメでした。

調べてみると、PHPにintlが入っていないからエラーであるとのこと。

解決方法は、php.iniのintl.dllのコメントアウトを外せば良い、とのことでしたが、外しても解決できませんでした。

というか、dllファイルってWindowsの話であって、Macには関係ないのでは?

結局のところ、XAMPPでは解決できなかったので、MAMPで開発環境を整えてしまいました。

皆さんもMAMPをオススメします。

 

以上です!

ノシ

 

PS

MAMPのインストール後は、標準で入っている(もしくは自ら入れた)PHPとMySQLをアンインストールして、MAMPのPHPとMySQLのパスを通すことをオススメします。

2つ入っている状態だと互いに干渉しあって上手くいかないことが多々あります。

 - プログラミング, Linux