0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravelアプリの画像がロリポップで表示されない問題

Posted at

はじめに

今回はロリポップにLaravelアプリを公開したものの、画像が表示されていなかったため、その対応を投稿。

原因

通常Laravelではstorage/app/publicに保存された画像を利用する場合はphp artisan storage:linkなど使ってシンボリックリンクを作成して利用する。
しかしロリポップのハイスピードプランではシンボリックリンクが利用できないそう、、。

環境

PHP 8.1.4
Composer 2.3.4
Laravel 8.83.13
レンタルサーバーはロリポップ ハイスピードプラン

シンボリックリンクなしで画像を表示する

1.シンボリックリンクを削除しておく(バックアップ推奨します!)

$ unlink シンボリックリンクへのパス

2.publc以下に任意の名前でフォルダを作成する。

今回はtestフォルダとします。
スクリーンショット 2022-06-16 11.27.54.png

3.storage/app/publicを先ほどのフォルダに移動する

※storage/app/publicのみを移動してその他のsotrage関連のファイルは変わらずstorage/app以下に置いておきます。
スクリーンショット 2022-06-16 11.30.21.png

4.config/filesystems.phpを編集する

以下のように編集

'public' => [
    'driver' => 'local',
    // 'root' => storage_path('app/public'),
    'root' => public_path('test/public'),
    'url' => env('APP_URL').'/storage',
    'visibility' => 'public',
],

画像表示部分のパス変更

<img src="{{asset('test/public/〜〜/'. ~~~)}}"

Storageファサード使うとき

Storage::disk('public')->〇〇

参考サイト

https://shikakui.com/laravel_storage-public

0
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?