[Laravel] インストールとMySQLの接続

PHPのフレームワーク「Laravel」のインストールとセッティングについてです。データベースはMySQL8を利用します。
composerを使ってLaravelをインストール、その後DBの設定を記載し、開発用サーバーを起動します。
幾つかエラーが出やすい点があったので、エラー回避方法をメモしておきます。

[環境]
PHP 2.4.x
CentOS 7.x
MySQL 8.x
Laravel 5.5

Composerのインストール

Composerは、PHPパッケージの管理システムで、インストールするパッケージに必要なファイルを自動にダウンロード(インストール)してくれます。

Composerをインストールし、
「$ mv composer.phar /usr/local/bin/composer」
でパスを設定(ファイルを移動してパスを有効化)

$composerで大きな文字とバージョンが表示されたらインストール成功です。

なおcomposerのバージョンを最新にするには以下のコマンドを使います。

Laravelのインストール

※最後にバージョンを付けないと最新バージョンのものがインストールされます。 2020年4月では version7.5.2でした。
Laravelのバージョン確認は「$ php artisan -V」です。これはプロジェクトをインストールしたディレクトリで行わないと表示されません。

インストール時のエラー対処

create-projectで下記のようなエラーが表示されました(背景は赤色)
これはインストール時にメモリーが足りないというエラーのようです。

[InvalidArgumentException]
Project directory “/var/www/html/example.net/sample” is not empty.

php.iniでmemory_limitを増やすか、スワップ関係を調整するかの対処になるようですが、VPSサーバーを利用しており、メモリーを1GBに増やしてもダメ、スワップは変更できないようになっていて困りました。

できる限りメモリーを開放する作戦で、httpdとmysqlをストップして再度実行したところうまくインストールされました。

サーバーの立ち上げ

警告

pdo_sqliteが使えないというwarningが出ていました。

Unable to load dynamic library ‘pdo_sqlite’ (tried: /usr/lib64/php/modules/pdo_sqlite

sqliteを使わない場合は問題ないようです。

MySQLの設定

Laravelの日本語化

マイグレーションの実行

MySQLの設定が終わったら、マイグレーションを実行します。

これはMySQL8.0.4からログイン認証方式が変更された影響でエラーがでています。
LaravelとMySQLの接続は新方式に対応していないので、旧タイプの認証方式に戻します。

新認証方式 : caching_sha2_password
旧認証方式 : mysql_native_password

変更の仕方はここの記事が参考になります。
MySQL8.0 認証方式を変更する(Laravel5)

今後新規のユーザーは旧認証方式にする場合
/etc/my.confに以下を記述します。

これらのエラー対処を行い、もう一度サーバーを起動します

http://XXX.XXX.XXX.XXX:8000 というURLがターミナルに表示されるので、それをブラウザで開くと表示されます。



Author: webmaster