Файлы Laradock 404 Not Found с символической ссылкой на хранилище

Я создал приложение Laravel и использую ПК с Windows в сочетании с Docker и Laradock. Docker работает на WSL2, но подключен к моим дискам с Windows (я знаю, это очень медленно, и мне нужно переключиться на работу в файловой системе Linux).

Я хочу использовать файловую систему Laravel, потому что я использую envoyer для развертывания своего приложения. Поэтому я создал символическую ссылку из общедоступного / хранилища в хранилище / приложение / общедоступное (по умолчанию) с php artisan storage:link в контейнере рабочей области.

Моя IDE (PHPStorm) правильно отображает файлы по ссылке. Также работает загрузка изображений и их перемещение в папку для хранения.

Проблема с Laradock (настройка локальной разработки) заключается в том, что если я использую URL-адрес из функции asset () (например, mywebsite.test / storage / file.txt), я получаю 404 Not Found. Эта проблема не сохраняется на моем промежуточном сервере Linux. Там все нормально работает.

Кто-нибудь знает, в чем может быть проблема?


person Matthias De Schoenmacker    schedule 14.11.2020    source источник
comment
Вы также запускали это на своей нынешней машине? php artisan storage:link   -  person sta    schedule 14.11.2020
comment
Я запустил его со своей машины и из контейнера докеров. Теперь я перестраиваю свои контейнеры laradock, чтобы сразу же попробовать его из рабочей области, а не сначала с моей локальной машины   -  person Matthias De Schoenmacker    schedule 14.11.2020


Ответы (1)


По-видимому, проблема заключалась в том, что вы всегда должны делать символическую ссылку в контейнере рабочей области. Мой процесс был следующим:

  • docker-compose down
  • docker-compose up
  • docker ps, чтобы получить идентификатор контейнера рабочего пространства
  • docker exec -it [workspace-container-id] bash
  • php artisan storage:link в папке проекта. Если это не сработает, вы можете создать его вручную из общей папки с помощью ln -sf ../storage/app/public storage
person Matthias De Schoenmacker    schedule 14.11.2020
comment
Только что столкнулся с той же проблемой, забудьте о символической ссылке на контейнер ... Кстати, если вы используете парус, процесс проще, просто выполняя sail php artisan ... - person convers39; 01.05.2021