Laravel - The [public/storage] link already exists

(2024-04-04)

xserver 上で動いている laravel の画像が見られなくなりました。

最近、laravel に tailwind を導入していろいろと変更したせいかもしれません。

ローカルにダウンロードして確認しました。

シンボリックリンクを作り直そうとしてエラー

以前、シンボリックリンクを再設定したときのように、

Terminal window
php artisan storage:link

とすると、

Terminal window
ERROR The [public/storage] link already exists.

以前はそれでも見られたような気がしますが。

リンクを貼り直す

laravel の画像保存アプリでは、画像の保存は ~/storage/app/public に保存されるようです。

~/public には画像を置くのではなくて、そのシンボリックリンクだけを置くんでしょう。

なので、まずは ~/public/storage を削除します。

そうしてもう一度、

Terminal window
php artisan storage:link

やっと閲覧できました。

xserver で

xserver に ssh ログインして操作します。

Terminal window
cd ~/moheno.site/sample1/public
rm -r storage
cd ~/moheno.site/sample1
php artisan storage:link

これで見られるようになりました。

php のバージョン変更

以前は xserver のコントロールパネルから php のバージョンを変更できたように思うのですが、現在ではできないようです。

したがって、php 8.2 でシンボリックリンクを作成する場合は以下のようにする必要があります。

/usr/bin/php8.2 artisan storage:link