Laravelとは
LaravelはPHPのフレームワークになります。ubuntuにlaravelを導入していきます。
- 公式: https://readouble.com/laravel/5.5/ja/installation.html
- wiki: https://ja.wikipedia.org/wiki/Laravel
laravelのインストール
composerを使う方法とlaravelのインストーラーを使用する方法があるみたいですが、今回はcomposerを使ってインストールしていきます。
※composerを使ってインストールする。myblogのところはプロジェクト名を記述する↓
#以下のコマンドを実行すると現在の作業ディレクトリにmyblogというディレクトリが作成されるはず #できあがったmyblogディレクトリで作業を行う $ php composer.phar create-project --prefer-dist laravel/laravel myblog
laravelのバージョン確認
#laravelのいろいろな命令は artisan というものをつかっておこなう $ php artisan --version
ディレクトリの構造
laravelで作成されたアプリはファイルがかなり多いので重要そうな部分だけ
- database ⇀ .sqliteファイルを作成
- database/migration以下のファイルを削除(のちのちの開発でエラー)
- public ⇀ cssやjsや画像
- resources/views ⇀ 画面のテンプレート
- routes ⇀ ルーティング
設定ファイルの編集
- .envファイル
- configフォルダから.envファイルを参照する
.envファイル
.envファイルで使用するデータベースなどを設定できるようです。今回はsqliteを使うことにしました。
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
↓
config/app.php
.config/app.phpはenvファイルの内容をひっぱてくるためのもののようです。
以下のように編集しました
- ‘timezone’ => ‘UTC’, ⇀ ’timezone’ => ‘Asia/Tokyo’,
- ‘locale’ => ‘en’, ⇀ ’locale’ => ‘ja’
マイグレーションの設定
モデルの作成
$ php artisan make:model Post --migration #モデルの作成 database/migrations
マイグレーションファイルにはup()とdown()関数が記述されており、up()はマイグレーションで行う処理down()はまき戻すための処理が書かれている
マイグレーションの反映
$ php artisan migrate
マイグレーションをしましたがエラーが発生しましたので下記に対象をまとめました。
migrateでエラー
エラー内容
PDOException::("could not find driver") #ドライバーがない
ドライバーの確認
簡易的に確認するには
php -m | grep pdo
きちんと確認するには以下のコマンドを使う
$ php -r "phpinfo();"
かなり多くの情報が表示されますが今回はPDOのドライバーに関する情報をみていけばよいようです。
PDO support => enabled
PDO drivers => mysql
pdo_mysql
PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev
不足していると思われるドライバーをインストールする
phpのバージョンは7.2だったのでphp7.2用のsqlite3ドライバをインストールします
$ sudo apt-get -y install php7.2-sqlite3
設定内容を再確認
sqlite3が追加されていました
PDO support => enabled
PDO drivers => mysql, sqlite
pdo_mysql
PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev
Directive => Local Value =>
pdo_mysql.default_socket =>
pdo_sqlite
PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.24.0
grepコマンドでも確認してみるとpdo_sqliteが追加されていました。
php -m | grep pdo pdo_sqlite
改めのlaravelでmigrateする
改めてmigrateした結果成功しました。
$ php artisan migrate Migration table created successfully. Migrating: 2018_11_29_160348_create_posts_table Migrated: 2018_11_29_160348_create_posts_table
コメント