【Linux】【Laravel】Laravelからデータベースにアクセスする。

Laravelからmysqlにアクセスできるところまでやりました。

mysqlのインストール

$ sudo apt-get install mysql-server

mysqlの初期設定

$ sudo mysql_secure_installation

基本的にyを選択すれば良い。

rootでログイン

$ sudo mysql -u root -p

データベースの作成

mysql> create database <データベース名>;

ユーザーの追加

mysql> create user <ユーザー名> identified by '<パスワード>';

ユーザーに権限を付与

mysql> grant all on . to <ユーザー名>;

Laravelにデータベースの設定を記入

database.phpの設定を変更。

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', '<データベース名>'),
            'username' => env('DB_USERNAME', '<ユーザー名>'),
            'password' => env('DB_PASSWORD', '<パスワード>'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

migrateの実行

$ php artisan migrate

エラーが出た。

could not find driver

PHPに、データベースにアクセスするPDOがない、ということなので、mysqlにアクセスするモジュールを追加。

$ sudo apt-get install php7.2-mysql

これでmigrateが成功すればOK。

適当なテーブルを追加する

$ php artisan make:migration create_test_table

CreateTestTableクラスが出来上がるので、以下のように書き換える。

    public function up()
    {
        Schema::create('test', function (Blueprint $table) {
            $table->increments('id');
            $table->text('text');
            $table->timestamps();
        });
    }
$ php artisan migrate

Laravelからデータベースにアクセス

$ php artisan tinker
>>> DB::table('test')->get();
DB::table('test')->insert(['test' => 'insert'])
DB::table('test')->get();

データが表示されれればOK。

【Linux】【Laravel】Laravel5.5をインストールする。

オイラのLinux PCにLaravel5.5をインストールしました。

使用ディストリビューションはUbuntu18.04です。

composerのインストール

$ sudo apt-get install composer

Laravelのインストール

$ composer global require "laravel/installer"

プロジェクトの作成

$ composer create-project --prefer-dist laravel/laravel <プロジェクト名> "5.5.*"

実行すると

You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.

というエラーが出たので、PHPのモジュールを追加。

$ sudo apt-get install php7.2-mbstring
$ sudo apt-get install php7.2-xml

Laravelの実行

$ php artisan serve

を実行した状態で、ブラウザから

http://localhost:8000

にアクセスする。

この画面が表示されればOK。

パーミッション変更

これをやらないとダメらしい。

$ chmod 777 storage/
$ chmod 777 bootstrap/cache/