0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker環境でLaravelのパーミッション調整&キャッシュクリアをまとめて実行するコマンド解説

Posted at

はじめに

Laravel を Docker 上で開発していると、パーミッション問題 や キャッシュ起因のエラー がよく発生します。
そんなときに便利な、1 行でまとめて実行できるコマンド を紹介します。

使用するコマンド

docker compose exec php-container bash -lc "chown -R www-data:www-data storage bootstrap/cache && chmod -R 775 storage bootstrap/cache && php artisan view:clear && php artisan cache:clear"

コマンド全体の意味

docker compose exec php-container bash -lc "..."
  • php-container:Laravel が動作する PHP コンテナ名
  • bash -lc:ログインシェルとして bash を実行し、"" 内の複数コマンドを順番に実行

各コマンドの詳細解説

  1. 所有者を www-data に変更

     chown -R www-data:www-data storage bootstrap/cache
    

    →Laravel の storage と bootstrap/cache は PHP(www-data ユーザー) が書き込める必要があります。

    これをしないと下記の問題が起きます。:

    • ログが書き込まれない

    • キャッシュ生成でエラー

    • view が更新されない


2. アクセス権を 775 に設定
chmod -R 775 storage bootstrap/cache

775 の意味:

  • 所有者 & グループ:読み書き実行
  • その他:読み取り & 実行

3. ビューキャッシュ削除
php artisan view:clear
  • Blade のコンパイル済みテンプレートを削除。
    • 画面表示の不具合があるときに役立ちます。

4. Laravel 全体のキャッシュ削除
php artisan cache:clear

Laravel の内部キャッシュをすべて削除します。
設定・ルート・アプリケーションキャッシュの問題に対応できます。

まとめ

この 1 行コマンドで、

  • パーミッション修正
  • view キャッシュクリア
  • Laravel キャッシュクリア

を 一括で実行できます。

Makefile に登録してもっと便利にする

頻繁に使うなら Makefile に登録して、以下のようにすると便利です👇

fix-permission:
	docker compose exec php-container bash -lc "chown -R www-data:www-data storage bootstrap/cache && chmod -R 775 storage bootstrap/cache && php artisan view:clear && php artisan cache:clear"

これで以下のように実行できるようになります:

make fix-permission
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?