【cakePHP】環境構築 (Mac)メモ


はじめに

・homebrewインストール
・phpインストール
・composerのインストール
・mysqlの接続
このような流れで環境構築していきます。

Homebrewインストール

公式https://brew.sh/index_ja.html
通りにターミナルでコマンド入力

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

PHPインストール

*次のComposerのインストールには、PHPが先にインストールされている必要があります。今回は以下のバージョンのPHPがインストールされている環境にComposerをインストールします。

brew install [email protected]

==>
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-php'...
~~中略~~
To have launchd start homebrew/php/php72 now and restart at login:
  brew services start homebrew/php/php72
==> Summary
🍺  /usr/local/Cellar/php72/7.2.1_12: 350 files, 46.6MB

Composerとは

Composerとは、PHPのパッケージ管理ツールです。Node.jsのnpmみたいな認識。

コマンドを叩くと、必要なパッケージ類を指定されたバージョンでインストールしてくれます。その際依存関係にあるパッケージも合わせてインストールしてくれる優れものです。

Composerを使う必要があってインストールから行ったので、その手順をメモ代わりに残しておきます。

composerのインストール

インストール方法は2つ

Homebrew を使って簡単に Composer をインストール

 % brew search composer
==> Formulae
composer 

インストール

$ brew install composer   
Updating Homebrew...
  ・・・省略(Homebrew のアップデートなど)・・・  
==> Downloading https://getcomposer.org/download/1.9.3/composer.phar
######################################################################## 100.0%
🍺  /usr/local/Cellar/composer/1.9.3: 3 files, 1.8MB, built in 7 seconds

% composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.10.1 2020-03-13 20:34:27

Usage:
  command [options] [arguments]
・・・以下省略・・・

-V オプションでバージョンのみを確認する

composer -V
Composer version 1.10.1 2020-03-13 20:34:27

Homebrew を使ってインストールすると Composer は /usr/local/Cellar/にインストールされる。


# brew でインストールしたパッケージのインストール先
$ ls /usr/local/Cellar/  
composer    libidn2     libunistring    webp
gettext     libpng      [email protected] wget
jpeg        libtiff     tree

# tree コマンドで確認
$ tree /usr/local/Cellar/composer/  
/usr/local/Cellar/composer/
└── 1.9.3
    ├── INSTALL_RECEIPT.json
    └── bin
        └── composer

2 directories, 2 files

Composer 公式サイト インストール

getcomposer.org で Composer をインストールするためのコマンドを取得する

curl -sS https://getcomposer.org/installer | php

cakePHP環境でプロジェクトを作成する

php composer.phar create-project --prefer-dist cakephp/app プロジェクト名

 

作成したプロジェクトを立ち上げる

bin/cake server

引数のないデフォルト状態では、 http://localhost:8765/ であなたのアプリケーションに アクセスできます。

もしあなたの環境で localhost や 8765番ポートが使用済みなら、CakePHP のコンソールから 下記のような引数を使って特定のホスト名やポート番号でウェブサーバーを起動することができます。

bin/cake server -H 192.168.13.37 -p 5673

こうすればアプリケーションは http://192.168.13.37:5673/ でアクセスできます。

これだけです! あなたの CakePHP アプリケーションは ウェブサーバーを設定することなく動きます。

サーバーが他のホストから到達できない場合、

bin/cake server -H 0.0.0.0 

を試してください。

アクセスすると、

こんな感じの画面が出れば成功です。

データベースの接続

接続できてないとエラーがでます。

CakePHP is NOT able to connect to the database.

Connection to database could not be established: SQLSTATE[HY000] [1045] Access denied for user 'ユーザー名'@'localhost' (using password: YES)

データベースの情報を使って、設定ファイルを書き換えます。

app/configファイルに行ってあげて、app_local.phpを開いください。

*注意

cakePHP4以降は

app.default.phpからapp_local.php という名前に変わってるので注意!!

目印はDatasourceを探します

app_local.phpまたはapp.default.php
 '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' => 'データベースアクセスユーザー名', <---変更
            'password' => 'パスワード',       <---変更
            'database' => 'データベース名',   <---変更
            'encoding' => 'utf8',
            'timezone' => 'UTC',
            'flags' => [],
            'cacheMetadata' => true,
            'log' => false,

これで接続できれば成功です。