LoginSignup
3
5

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-04-05

はじめに

・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 php@7.2

==>
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みたいな認識。

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

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      openssl@1.1 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 

を試してください。

アクセスすると、
スクリーンショット 2020-04-05 20.37.16.png

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

データベースの接続

接続できてないとエラーがでます。
スクリーンショット 2020-04-05 20.52.15.png

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,

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

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5