【问题标题】:Laradock 404 Not Found Files with Symlink to StorageLaradock 404 Not Found Files with Symlink to Storage
【发布时间】:2020-11-14 11:59:57
【问题描述】:

我创建了一个 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 服务器上不存在。那里一切正常。

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

【问题讨论】:

  • 您是否也在您当前的机器上运行过这个? php artisan storage:link
  • 我从我的机器和 docker 容器中运行它。我现在正在重建我的 laradock 容器,以便立即从工作区尝试它,而不是先从我的本地机器尝试

标签: laravel docker nginx laradock


【解决方案1】:

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

  • 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 从公用文件夹手动创建它

【讨论】:

  • 刚刚遇到同样的问题,忘记容器符号链接......顺便说一句,如果使用sai,只需执行sail php artisan ...
猜你喜欢
  • 2017-12-11
  • 2019-05-12
  • 2015-04-05
  • 2021-04-16
  • 2016-09-10
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多