内容
- MacでのMAMPを使用したLaravel5.8開発環境を構築
- 環境構築と言っても必要なものをインストールし、プロジェクトを作成するだけのシンプルな手順解説
環境
- OS macOS Mojave 10.14.6
- MAMP 5.3
- PHP 7.3.1
- MySQL 5.7.25
- Composer 1.8.6
MAMPの導入
入っていることを想定して省略
Composerのインストール
LaravelなどのPHPのフレームワークを使用する際にComposerというPHPのパッケージ管理ソフトを利用する。
# Composerのインストール
$ curl -sS https://getcomposer.org/installer | php
# ファイルをusr/local/binへ移動
$ sudo mv composer.phar /usr/local/bin/composer
# パーミッションの変更
# aは全てという意味、xは実行権、この場合全ての項目で実行権を与えるということ
$ chmod a+x /usr/local/bin/composer
これでComposerがインストールされ、Laravelをインストールする準備完了
# 確認
$ composer -V
Laravelのインストール
Composerを使ってLaravelをインストールする
$ composer global require "laravel/installer"
Laravelインストール後は環境変数PATHを設定する
$ export PATH="$PATH:~/.composer/vendor/bin"
# パスをsourceコマンドで有効にする
$ source ~/.bash_profile
※ PATHの通し方についての説明
https://qiita.com/KZ-taran/items/0cb2cfa64625ec1b58a9
プロジェクトの作成
/Application/MAMP/htdocs/
にlaravel_sampleというプロジェクトを作成することとする
/Application/MAMP/htdocs/
に移動し、下記コマンド入力
# /Application/MAMP/htdocs/に移動
$ cd /Application/MAMP/htdocs/
# Laravelコマンドを使ってプロジェクトの作成
$ laravel new {プロジェクト名}
# laravel_sampleというプロジェクトを作成する場合
$ laravel new laravel_sample
コマンド実行後、成功すればプロジェクトが生成される。
laravelのフレームワークのversionを確認する場合
# プロジェクトまで移動
$ cd /Application/MAMP/htdocs/laravel_sample/
# Laravelフレームワークのバージョン確認
php artisan --version
# (補足)単にLaravelインストーラーのバージョン確認
$ laravel -V
MySQLを使用する場合
MySQLへのログイン(PATHを通していない場合)
# PATHを通さないmysqlログイン手順
# MAMPのmysqlmコマンドが入っているディレクトリに移動する
$ cd /Applications/MAMP/Library/bin/
# DBへログイン
$ ./mysql -u root -p
MySQLへのログイン(PATHを通す場合)
# エディタviで~/.bash_profileを編集する
$ vim ~/.bash_profile
# 下記内容を追加
# テキスト挿入の際にはiを押してから
$ export PATH=/Applications/MAMP/Library/bin:$PATH
# 書き込み終了の際はescで抜けてから:wqで保存し、次のコードで変更を反映させる
$ source ~/.bash_profile
これにより、どのディレクトリからでも次のコマンドでmysqlログイン可能になる
$ mysql -u root -p
プロジェクトのenvファイルの修正
DB設定値を使用するMySQLの情報へ変更していく
// 変更前
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
// 変更後
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_sample // (使用するDB名)
DB_USERNAME=root // (DBのユーザー名(仮にrootとする))
DB_PASSWORD=root // (DBのPW(仮にrootとする))
DBのコネクションの設定
/config/databases.php
の変更
// 変更箇所 デフォルト
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
// 今回の修正
'database' => env('DB_DATABASE', 'laravel_sample(.envで設定したDB名)'),
'username' => env('DB_USERNAME', 'root(.envで設定したユーザー名)'),
'password' => env('DB_PASSWORD', 'root(.envで設定したPASS)'),
'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),
// 'DB_SOCKET'はmysqlで次のコマンドで確認できる
SHOW VARIABLES LIKE '%sock%';
デバッグ設定の有効
Laravelではエラーや例外処理はすでに設定されているためtry, catchを書く必要はなく、アプリケーションエラー発生時にどの程度の情報を表示させるかconfig/app.php
設定ファイルのdebug設定オプションで設定する
// 変更前
// デバッグを有効にする際には'APP_DEBUG'をtrueにし、リリースするときには必ずfalseにする
'debug' => env('APP_DEBUG', false),
// 変更後
'debug' => env('APP_DEBUG', true),
サーバーの起動
LaravelにはWebサーバー機能が備わっている
# サーバー起動方法
$ php artisan serve
以上で完了
http://localhost:8000
で確認できる
(補足) Laravel よく使うディレクトリ構成
app // ModelやContoller
└─ Http
└─ Controllers // Controller
config // 各種設定ファイル
database // マイグレーションと初期設定(シーディング)
├─ factories
├─ migrations // マイグレーションファイル
└─ seeds // シーディングファイル
public // アセット(画像, JavaScript, CSSなど)
resources // Viewやアセットのビルド前のファイル
└─ views // View
routes
└─ web.php // ルーティング設定
storage // コンパイルされたBladeテンプレート、ファイルベースのセッション、ファイルキャッシュなどのフレーム
└─ logs // ログ