[CakePHP3] CakePHP3の環境をMAMPで構築する!


MacとMAMPで使用しているPHPのバージョンが違うことで、CakePHP3 をインストールする際にエラーが出るようです。
ですので、MacとMAMPの使用しているPHPのバージョンの違いを把握してから、composer, CakePHP3 のインストールを進めていきます。

1. MAMPのPHPのパスを通す

  • Mac の PHP のバージョンを確認

このMacに入っているphpのバージョンは

php -v

で確認できる。

  • MAMP の PHP のバージョンを確認

MAMP の「設定」から PHP の標準バージョンを確認できます。
私のMAMPの場合は php5.6.10 だったので、下記が MAMP の PHP のパスとなります。

/Applications/MAMP/bin/php/php5.6.10/bin/php

2. composerをインストールする

cakephp3をインストールする場所(今回はcakephp3)に移動して、下記コードを実行する

curl -sS https://getcomposer.org/installer | /Applications/MAMP/bin/php/php5.6.10/bin/php

3. CakePHP3をインストールする

composerをインストールしたら、そのまま下記コードを実行します。
今回は hoge フォルダに CakePHP3 をインストールしてみます。

/Applications/MAMP/bin/php/php5.6.10/bin/php composer.phar create-project --prefer-dist cakephp/app hoge

パーミッションをデフォルトの設定にするかと聞かれたら、Y にしておく。

ちゃんとインストールできていれば、ブラウザで CakePHP の画面を確認できると思います。

4. データベースを接続

まだ、Database が 「CakePHP is able to connect to the database.」
となっていないと思いますので、データベース接続の設定をしましょう。

/cakephp3/hoge/config/app.php の下記箇所を変更します。

  • ホスト名
    'host' => 'localhost'
  • DBログインのユーザー名 (例 hoge)
    'username' => 'hoge'
  • DBログインのパスワード (例 hogepass)
    'password' => 'hogepass'
  • データベース名(例 hoge_db)
    'database' => 'hoge_db'
    'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver' => 'Cake\Database\Driver\Mysql',
            'persistent' => false,
            'host' => 'localhost',
            /**
             * CakePHP will use the default DB port based on the driver selected
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
             * the following line and set the port accordingly
             */
            //'port' => 'non_standard_port_number',
            'username' => 'hoge',
            'password' => 'hogepass',
            'database' => 'hoge_db',
            'encoding' => 'utf8',
            'timezone' => 'UTC',
            'flags' => [],
            'cacheMetadata' => true,
            'log' => false,

Database が 「CakePHP is able to connect to the database.」
となれば DB の接続も完了です!!

CakePHP3 のインストールに苦戦しましたが、この方法でローカル開発環境を構築することができました!!