【Laravel 5.4 環境構築】Laravelインストール、MySQL接続、ログイン認証機能まで
2018-01-30Laravel5.4をインストールする。
composerを使用してインストールします。(composerは別途インストールする。)
プロジェクトを置きたいディレクトリ直下で、以下コマンドを実行する。
“order_by_task”の部分は、プロジェクトのフォルダ名なので自分の好きな名前を記載する。
1 |
composer create-project "laravel/laravel=5.4.*" order_by_task |
インストール完了後、order_by_taskフォルダに、Laravelのアプリケーション群が作成されていることを確認する。
今回は、Valet上で開発しているので、ブラウザで「 http://order_by_task.dev」にアクセスし、Laravelが正常に起動していることを確認する。(Valet超便利!)
※通常は以下コマンドで、Webサーバを起動し、「 http://127.0.0.1:8000 」にアクセスする。
1 |
php artisan serve |
MySQLと接続する。
rootでMySQLにログインし、データーベースを作成しておく。
1 |
create database 【database_name】 default character set utf8; |
あわせて、ユーザーの追加と権限の設定もしておく。
1 |
grant all on 【データベース名】.*to 【ユーザー名】@localhost identified by '【パスワード】'; |
.envファイルに「データベース名」「ユーザー名」「パスワード」を編集します
1 2 3 4 5 6 7 8 9 10 |
---略--- DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=【データベース名】 DB_USERNAME=【ユーザー名】 DB_PASSWORD=【パスワード】 BROADCAST_DRIVER=log ---略--- |
認証用のテーブルを作成する
「php artisan migrate」を実行し、認証用のテーブル作成をする。
1 2 3 4 5 6 7 |
php artisan migrate --------------------------------以下実行結果------- Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table |
migratie実行時のエラー1
下記のエラーがでた場合は、AppServiceProvider.phpファイルを編集して、ブートメソッドにデフォルトの文字列長を追加し、再度マイグレーションする。
※既に空のmigrations、usersテーブルが作成されてしまっているのでテーブル削除してから実施すること
1 2 3 4 5 6 |
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `use rs_email_unique`(`email`)) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Schema; //←追加 class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { Schema::defaultStringLength(191); //←追加 } /** * Register any application services. * * @return void */ public function register() { // } } |
migratie実行時のエラー2
下記のエラーがでた場合は、MySQLのバージョンが5.5未満で「utf8mb4」に対応していないので、MySQLのバージョンを上げるか、/config/database.phpファイルを修正します。
1 2 3 4 5 6 7 8 |
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character s et: 'utf8mb4' (SQL: select * from information_schema.tables where table_sch ema = aiho and table_name = migrations) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character s et: 'utf8mb4' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8', //★修正 'collation' => 'utf8_unicode_ci', //★修正 'prefix' => '', 'strict' => true, 'engine' => null, ], |
認証用のルート、コントローラ、ビューを作成する
以下のコマンドを実行するだけで完了。
1 |
php artisan make:auth |
再度ブラウザでアクセスするとユーザー登録と、ログインメニューが表示されます!
すごい・・・。
この記事がお役に立てたら、是非シェアをお願いします^^