ec2のLaravel6.xでRDS(MySQL)の疎通確認をするサンプルプログラムを作った
Laravel6.x内からPHP7.4でMySQLに接続して疎通確認をするサンプルプログラムを
書いたので、忘れないようにやり方をメモしておく(Φω|
今回、時間がないのでLaravelのORMは使わず、コントローラからDB Facade
を使って処理を行っている。
[作成(編集)したファイル]
※Usersテーブルからユーザ名を取得してリスト表示するサンプルプログラム。
1. database接続設定
プロジェクトディレクトリ直下の .envファイルのDB接続情報を自分の環境
に合わせて編集する。
/var/www/html/{project_name}/.env 内の以下項目を編集。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 --- RDSのipかhostname
DB_PORT=3306 --- RDSのPortNumber
DB_DATABASE=laravel --- RDSのdatabase(schema)名
DB_USERNAME=root --- defaultはroot
DB_PASSWORD=
2. コントローラー
/var/www/html/{project_name}/app/Http/Controllers に
UserController.php 作成。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;class UserController extends Controller
{
public function index()
{
$users = DB::select('select * from users');
$data = ['msg' => 'ユーザ一覧', 'users' => $users];
return view('user.index', $data);
}
}
3. viewファイル
/var/www/html/{project_name}/resources/views/user に
index.blade.php 作成。
<h1>{{ $msg }}</h1>
<ul>
@foreach ($users as $user)
<li>{{ $user->name1 }} {{ $user->name2 }}</li>
@endforeach
</ul>
4. routes/web.phpを編集し、http://{your_ip_address} or {hostname}/user で
ユーザ名のリストを表示できるようにする。
<?php
Route :: get('/user', 'UserController@index');
[動作確認]
Webブラウザから、下記アドレスを入力してアクセスし、ユーザ名の
リストが表示されればOK。
http://{your_ip_number} or {hostname}/user
[参考サイト]
https://engrave.work/entry/226