@unreal_serg

Почему не работают url изображений в проектах laravel на OSPanel (OpenServer)?

Установил OSpanel, закинул в папку domains проект на laravel - test-project. Создал домен в настройках OSPanel test-project.loc, прописал папку проекта - test-project/public. Выбрал модули PHP 8.0-8.1, Apache 2.4.
Проект работает, все отлично, но изображения отдаются некорректно. В проекте стандартная файловая система, я ее не менял:
'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

Положил файл image.jpg в папку storage/app/public. Сформировал url для этого файла:
asset('image.jpg');.
Мне сформировалось:
http://test-project.loc/storage/image.jpg
Открываю этот url, мне laravel отдает 404.
Но если я положу файл image.jpg в папку test-project.loc/public/storage То он выведется. То есть изначально не работает ларавелевская система файлов и файлы отдаются относительно папки public проекта.
Разворачивал этот же проект на xampp и все работает отлично, но мне надо именно OSPanel.
В чем может быть проблема?
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
нужно слинковать хранилище в публичную директорию

php artisan storage:link

Симлинки, которые будут созданы этой командой, прописаны в файле config/filesystem.php.
По умолчанию, там одна ссылка для хранилища.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы