[ConoHa Wing] LaravelからMySQLに接続する。

ConoHaでLaravel動かすならVPS使う方が多数かもしれませんが、今回試してみたので共有します。

ConoHa WingにLaravelプロジェクトをデプロイする方法はこちら。

Laravelを動作させることができたらMySQLを準備しましょう!

DBを作成する

まずは[サイト管理] – [データベース] と進み、データベースを作成します。データベース名は実際に接続する際に使うDB名、ネームタグは管理画面上での表示名です。

また、その流れでユーザーも作成しておきましょう。
作成したら、ユーザーをクリックして展開すると、phpMyAdminへのリンクがあるので飛んでください。そして先ほど作成したユーザの情報を使ってログイン。

左カラムにあるデータベース名をクリックすると、テーブルを作成ダイアログが開くので、テスト用のテーブル名を入力し、作成してください。すると列を定義する画面になるので、以下のように入力。

とりあえずmessageというカラムをvarchar(100)で作成しました。右下の「保存する」をクリックしてください。そしたら作成されるはず。

テスト用にデータをInsertしましょう。SQLを選択し、以下のSQL文を実行。

INSERT INTO test ( message ) VALUES ('LARAVEL TEST')

これでMySQL側は準備完了。

Laravel側の準備をする。

Laravel側はテスト用のControllerを作成しましょう。バージョンによって違いはあるかもしれませんが、

[app]-[Http]-[Controllers]の中に、TestControllerTestController.phpを作成してください。そして中身を以下のように変更。

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;

class TestController extends Controller
{
    public function index()
    {
        $datas = DB::select('select * from test');
        return response()->json($datas, 200);
    }
}

また、[routes] にある api.php に以下を追加。

Route::get('test', 'TestController@index');

次に接続情報を編集しましょう。トップディレクトリにある.envを開きます。その中にDB接続に関する記述があるので変更。全てダブルクォーテーションとか必要ないです。

DB_CONNECTION=mysql
DB_HOST=ConoHaで確認。作成したデータベース名をクリックすると展開された中に記載
DB_PORT=3306
DB_DATABASE=作成したデータベース名
DB_USERNAME=作成したユーザ名
DB_PASSWORD=作成したユーザパスワード

編集が完了したら、FTPで上記3つのファイルを転送してください。

あとは実際にアクセスしてテスト!

自分は

https://ドメイン.com/public/api/test

でしたが、環境や設定によって違うので各自置き換えてください。

最後に

レンタルサーバでLaravelを動かす方法を検索すると、結構難しい方法しか出てきませんが、初心者やサーバ周りに馴染みのない方は、この方法でお手軽に試してみてはどうでしょうか。