はじめに
laravelを新規で立ちあげる時って必ず権限エラー発生しません?
久しぶりにやったら忘れてて少してこずったのでメモ書きしておきます。
初学者はハマるところなので参考にしていただけたらと思います。
failed to open stream: Permission denied
必ずと言っていいほど新規立ち上げ時はこのエラーが出ます。
(この画面は初めて見ましたがエラーの内容は同じです。)
これは、「logの書き込み権限がない」というエラーです。
なのでlogの書き込み権限を付与しましょう!
プロジェクトの中までcdで移動してから以下のコマンド実行!
$ sudo chmod 777 storage
※sudoをつけないと権限の変更できないので注意。
※storage/log だけ権限変更でも動くとは思いますが自分の行ったことを書いております。
2.sessinテーブルがない!?
権限の変更ができ、logのPermissionエラーがなくなると
またエラーが出る場合があります。
SQL[42S02]:Base table or view not found:1146 Table 'laravel.sessions' doesn't exist
次は「sessionテーブルがない」というエラー。
気が早いよ、、、って感じのエラーですがsessionのmigrateファイルはできているので
migrateを実行すればテーブルができてエラーが消えるはずです。
エラーは出るのは無視してサーバーを立ちあげます。
(xampでもdockerでもsailでもプロジェクトを作った環境のサーバーを立ちあげる。)
自分の場合はsailで動かしているのでプロジェクトの中で
./vendor/bin/sail up
でサーバーを立ちあげ
./vendor/bin/sail artisan migrate
でmigrateを実行し、テーブルを作成する。
エラーが無事なくなってlaravelの初期画面が!
3.autoloaderが読み込めない?composerがない!?
:/mnt/c/myProject/プロジェクト名$ php artisan breeze:install
PHP Warning: require((unreachable)/myProject/プロジェクト名/vendor/autoload.php): Failed to open stream: No such file or directory in artisan on line 9
PHP Fatal error: Uncaught Error: Failed opening required '(unreachable)/myProject/プロジェクト名/vendor/autoload.php' (include_path='.:/usr/share/php') in artisan:9
Stack trace:
#0 {main}
thrown in artisan on line 9
んじゃまぁcomposer installするか。
composer install
実行
In Process.php line 350:
The provided cwd "" does not exist.
install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--download-only] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-progress] [--no-install] [--audit] [--audit-format AUDIT-FORMAT] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [<packages>...]
なんやねん。。。
composer --version
Composer version 2.7.8 2024-08-22 15:28:36
PHP version 8.2.24 (/usr/bin/php8.2)
Run the "diagnose" command to get more detailed diagnostics output.
はいってるやんけ。。。
解決の際にやったこと
cd コマンドで一度上の階層に移動してプロジェクトにまた移動してから
同じコマンド実行したら無事処理が、、、、
cd ..
cd プロジェクト名
php artisan breeze:install
あれ、動いた。。。
なんやねん。。ほんま。。。