Laradock 404 未找到带有存储符号链接的文件

Mat*_*ker 2 nginx laravel docker laradock

我创建了一个 Laravel 应用程序,并且将 Windows PC 与 Docker 和 Laradock 结合使用。Docker 在 WSL2 上运行,但安装到我的 Windows 驱动器上(我知道,它非常慢,我应该切换到在 Linux 文件系统中工作)。

我想使用 Laravel 的文件系统,因为我使用 envoyer 来部署我的应用程序。php artisan storage:link因此,我在工作区容器中创建了从 public/storage 到 storage/app/public (默认)的符号链接。

我的 IDE (PHPStorm) 正确显示链接中的文件。上传图像并将其移动到存储文件夹也可以。

Laradock(本地开发设置)的问题是,如果我使用 asset() 函数中的 URL(例如 mywebsite.test/storage/file.txt),我会收到 404 Not Found。这个问题在我的临时 Linux 服务器上不会持续存在。那里一切都运转良好。

有人知道问题可能是什么吗?

Mat*_*ker 5

显然,问题在于您应该始终在工作区容器中创建符号链接。我的过程如下:

  • docker-compose down
  • docker-compose up
  • docker ps获取工作区容器 ID
  • docker exec -it [workspace-container-id] bash
  • php artisan storage:link在项目文件夹中。如果这不起作用,您可以使用以下命令从公用文件夹手动创建它ln -sf ../storage/app/public storage