Open1

Laravel入門しためも

junjun

dbはSQLiteでやった

PHP SQLite拡張のインストール

Ubuntuを使用している場合、以下のコマンドでPHP SQLite拡張をインストール

sudo apt update
sudo apt install php-sqlite3

PHP 8.2を使用している場合は以下のようにする

sudo apt install php8.2-sqlite3

インストール後、以下のコマンドでSQLite拡張が有効になっているか確認

php -m | grep sqlite
pdo_sqlite
sqlite3

ならおK

サーバーを起動します:

php artisan serve

ファイルおよびディレクトリのパーミッション設定

storagebootstrap/cache ディレクトリの所有者とパーミッションを設定

# 所有者を現在のユーザーに変更
sudo chown -R username:username storage bootstrap/cache

# ディレクトリに書き込み権限を付与
chmod -R 775 storage bootstrap/cache

username=junのとき


sudo chown -R jun:jun storage bootstrap/cache database
chmod -R 775 storage bootstrap/cache database
chmod 664 database/database.sqlite

補足説明:

  • chown -R username:username は、jun ユーザーとそのグループに所有権を再帰的に変更
  • chmod -R 775 は、所有者とグループに読み取り、書き込み、実行権限を与え、その他のユーザーには読み取りと実行権限を与えます。

Laravelのキャッシュをクリア

パーミッションや拡張機能の変更後、Laravelのキャッシュをクリアして変更を反映させます。

php artisan config:clear
php artisan cache:clear
php artisan config:cache

再度サーバーを起動します:

php artisan serve

ブラウザで http://localhost:8000 にアクセス


.env ファイルの設定確認

.env ファイルでデータベース接続が正しく設定されていることを確認します。特に DB_CONNECTIONsqlite に設定されていることと、DB_DATABASE が正しいパスを指していることを確認します。

DB_CONNECTION=sqlite
DB_DATABASE=/Projectまでのパス/database/database.sqlite

注意: DB_DATABASE にはSQLiteデータベースファイルの絶対パスを指定してください。

SQLiteデータベースファイルが存在しない場合は、以下のコマンドで作成

touch database/database.sqlite

再度所有者とパーミッションを設定

sudo chown jun:jun database/database.sqlite
chmod 664 database/database.sqlite

マイグレーションの実行

php artisan migrate