Ваша проблема заключалась в настройке APP_URL по умолчанию в файле .env:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:6IJbdi+QYczKeLT7yOw3OgPsHucXn1KxVUb27hTQKpU=
APP_DEBUG=true
APP_URL=http://localhost
Команда artisan serve запустила приложение на http://127.0.0.1:8000, поэтому вы изменили APP_URL соответственно:
APP_URL=http://127.0.0.1:8000
Я бы не рекомендовал это. Иногда по разным причинам команда могла изменить порт на 8001, 8002 и т. д.
$ php artisan serve
Starting Laravel development server: http://127.0.0.1:8000
Failed to listen on 127.0.0.1:8000 (reason: Address already in use)
Starting Laravel development server: http://127.0.0.1:8001
PHP 7.4.12 Development Server (http://127.0.0.1:8001) started
Простое решение
Просто прокомментируйте или оставьте APP_URL в файле .env пустым:
#APP_URL=http://localhost
APP_URL=
Это удалит часть http: // localhost из изображений профиля и решит проблему:
<img src="/storage/profile-photos/photo.jpeg">
В любом случае у вас будет другой файл .env в производственной среде.
Кроме того
Вы внесли небольшое изменение в свой файл config / filesystems.php:
'public' => [
'driver' => 'local',
'root' => storage_path('/public/storage'),
'url' => env('APP_URL').'/public/storage/',
'visibility' => 'public',
],
Исходная настройка была:
'root' => storage_path('/app/public'),
Это сработало только после того, как вы удалили и перекомпилировали символическую ссылку.
Но теперь, в каталоге вашего проекта, у вас, вероятно, возникла такая ситуация:
- public - storage
+ css - app
+ js - public
- storage - profile-photos
- public - public
- storage - storage
- profile-photos - profile-photos
.htaccess + framework
favicon.ico + logs
index.php
mix-manifest.json
robots.txt
web.config
По сути, вы сделали новый диск. Полагаю, это не было намеренно.
Кроме того, фотографии вашего профиля, вероятно, имеют немного запутанную часть в URL-адресе:
... / storage / public / storage / profile-photos / .. ..
Вы можете вернуться к исходным настройкам, удалить дополнительную папку и перестроить sysmlink.
config / filesystems.php
'disks' => [
//...
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
//...
],
person
Evil Yoda
schedule
07.11.2020