🥔
Laravel11 storageコマンド
この記事は Laravel11にあるartisanコマンドを全部調べる Advent Calendar 2024 23日目の記事です。
今回はstorageコマンドについて調べました。
環境
- PHP 8.4.1
- laravel/laravel 11.3.3
- laravel/framework 11.33.2
storage:link
アプリケーション用に設定したシンボリックリンクを作成する。
php artisan storage:link
実行するとアプリケーション用に設定したシンボリックリンクを作成します。
デフォルトではstorage/app/publicからpublic/storageへのシンボリックリンクを作成します。
advent-calendar-2024 % php artisan storage:link
INFO The [public/storage] link has been connected to [storage/app/public].
設定はconfig/filesystems.phpの次の配列に書くことができます。
配列の値を追加することで作成するシンボリックリンクも増えます。
config/filesystems.php
'links' => [
public_path('storage') => storage_path('app/public'),
public_path('images') => storage_path('app/images'), // 追加
],
advent-calendar-2024 % php artisan storage:link
INFO The [public/storage] link has been connected to [storage/app/public].
INFO The [public/images] link has been connected to [storage/app/images].
オプション | 説明 |
---|---|
--relative |
相対相対パスを使用してシンボリックリンクを作成 |
--force |
既存のシンボリックリンクを再作成 |
-
--relative
を付けると相対パスでシンボリックリンクを作成します
ただし、このオプションを使うにはsymfony/filesystemパッケージをインストールが必要です -
--force
を付けるとすでに作成済みのシンボリックリンクを一度削除して再度作成します
storage:unlink
アプリケーション用に設定した作成済みのシンボリックリンクを削除する。
php artisan storage:unlink
実行すると作成済みのシンボリックリンクを削除します。
削除の対象はconfig/filesystems.phpの配列に設定しているキーの部分になります。
つぎの場合は、public_path('storage')とpublic_path('images')が削除対象です
config/filesystems.php
'links' => [
public_path('storage') => storage_path('app/public'),
public_path('images') => storage_path('app/images'),
],
Discussion