【问题标题】:Laravel 5.6 symlink issues, 404 Not Found, but path actually existsLaravel 5.6 符号链接问题,404 Not Found,但路径确实存在
【发布时间】:2019-07-20 23:17:34
【问题描述】:

我最近将我的 Laravel 应用程序部署到具有 ssh 访问权限的共享托管服务器上,在我的本地计算机上,一切正常。 但服务器返回以下错误:

加载资源失败,服务器响应状态为 404(不是 找到)

对于存储在 laravel_directory/storage/app/public/ 中的图像 我已经通过运行成功创建了指向 public_html/storage 的符号链接

ln -sfv /home/dtruxpgw/repositories/SoukElfalah/storage/app/public/ 存储

来自 public_html 目录 我也试过了

ln -s /home/dtruxpgw/repositories/SoukElfalah/storage/app/public /home/dtruxpgw/public_html/storage

ln -s /home/dtruxpgw/repositories/SoukElfalah/storage/app/public /home/dtruxpgw/public_html

我也跑了

php artisan storage:link

chmod 775 -R 存储

当我跑步时

ls -la /home/dtruxpgw/public_html/storage

我明白了

lrwxrwxrwx 1 dtruxpgw dtruxpgw 59 二月 27 09:04 /home/dtruxpgw/public_html/storage -> /home/dtruxpgw/repositories/SoukElfalah/storage/app/public/ 在 cPanel 中存储文件存在并链接到 laravel_directory/storage/app/public/ 这是html代码

<img class="card-img-top thumbnail" src="{{$img_name?asset('/storage/images/thumbs/'.$img_name) : asset('/storage/images/thumbs/default.png')}}" alt="{{$img_name}}">

我已经在这里堆了两天了,任何帮助我都会非常感激 提前谢谢你。

【问题讨论】:

    标签: laravel storage symlink


    【解决方案1】:

    你错过了一件事,你不能像上面写的那样直接从存储文件夹访问文件系统。如果您想公开访问它,请在公共目录中上传您的文档。

    您只能通过路由访问存储文件夹中的文件。

    【讨论】:

    • 如果您想将任何上传的文件显示到 Web 上传文件到公共目录,并且如果您想保护您的文件不被直接访问上传文件到存储目录。
    • 您是否在浏览器中查看过链接?您需要先在浏览器中查看并确认。
    • @NarayanSharma 我的意思是,将文件上传到 laravel 存储目录以保护它们,然后通过从 public_html 创建一个 simlink 来访问它们。抱歉,我不明白我应该怎么做才能解决这个问题
    • @AmitKumar 在浏览器中它不起作用,但可能是因为它没有在 routes/web.php 中声明
    • @harounbest 如果您想将文件保存在存储中,它不会显示在浏览器中。您可以做的是放置带有测试“下载”的超链接,一旦您点击它,它将转到特定路线并从那里下载。
    【解决方案2】:

    将带有图像的 thumbs 文件夹移动到 public/img 并删除符号链接。这样做是没有意义的。要公开的就应该公开为什么要把图片存入存储文件夹?

    【讨论】:

    • 我遵循了 laravel 文档,现在我试图理解它为什么不工作,因为符号链接设置正确并且它在本地服务器上工作正常
    猜你喜欢
    • 2019-01-27
    • 1970-01-01
    • 2017-09-28
    • 2023-03-16
    • 2020-09-13
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多