【问题标题】:Laravel Voyager not showing imagesLaravel Voyager 不显示图像
【发布时间】:2020-04-29 01:01:47
【问题描述】:

我在 godaddy.com(共享主机)上使用 installatron 创建了一个 Laravel 应用程序。安装 Voyager 后,默认管理员头像未显示。存储链接由 Voyager 自动创建。但是当我打开管理面板时,voyager 尝试从 [app_url]/storage/users/default.png 获取管理员头像并收到 404。头像位于 [app_url]/public/存储/用户/default.png

Screenshot

版本: Laravel:5.8 航海者:1.3

【问题讨论】:

  • 您没有正确设置文档根目录。 public 绝不应该是 URL 的一部分。 Read the instructions 了解如何在远程主机上正确设置 Laravel,并将文档根目录指向 public 以便正确解析路径,并且可以避免目录遍历攻击。

标签: laravel voyager


【解决方案1】:

如果使用 localhost,请将端口号放入 .env 文件中

APP_URL=http://localhost:port_number

【讨论】:

    【解决方案2】:

    我之前也遇到过同样的问题,检查APP_URL后,继续执行

    php artisan config:clear
    

    然后再试一次。

    如果不起作用,请删除 public/ 中的符号链接存储并执行

    php artisan storage:link
    

    【讨论】:

      【解决方案3】:

      请检查您的 .env 文件中的 APP_URL 是否正确。

      它等于您在 godaddy 购买的域名以及协议(HTTP 或 HTTPS)。

      【讨论】:

      【解决方案4】:

      只需将 'APP_URL' 变量更改为 .env 文件到您的 localhost 路由。

      例如:

      APP_URL=http://127.0.0.1:8000
      

      我今天遇到了这个问题

      【讨论】:

        【解决方案5】:

        在我的例子中是 3 个步骤:

        1- 正确的 .env 文件中的 App_URL(不要忘记端口号) 示例:

        APP_URL=http://127.0.0.1:8000
        

        2- 从 [项目路径]\public 中删除存储文件

        3-运行:php artisan storage:link

        享受:)

        【讨论】:

          【解决方案6】:

          在您的 .env 文件中,替换应用 URL。

          APP_URL=http://localhost:port 
          

          【讨论】:

            【解决方案7】:

            我在本地尝试通过将端口添加到APP_URL 解决了我的问题。 但是服务器问题是 "Storage" 文件夹位于 public 目录中。

            2022 年 2 月更新 请注意符号链接必须存在于您的根目录中

            【讨论】:

              【解决方案8】:

              我不得不更改filesystems.php 中的设置。

              'url' => env('APP_URL').'/nameOfMyRootFolder/storage/app/public',
              

              然后就可以正确解析图片链接了。

              【讨论】:

                【解决方案9】:

                更改 filesystems.php 中的设置, 磁盘 -> 公共 -> "url => env('APP_URL').'/public/storage'"

                【讨论】:

                  【解决方案10】:

                  请检查您的 .env 文件中的 APP_URL= 它应该基本上是这样的

                  APP_URL=http://localhost:8000
                  

                  【讨论】:

                    【解决方案11】:

                    检查 .env 文件中的 APP_URL,确保 .env 文件中的 APP_URL 指向您项目的公共文件夹

                    APP_URL=http://localhost/your-project-name/public/

                    【讨论】:

                      【解决方案12】:

                      APP_URL 设置对我有用。我在容器中运行应用程序,所以我必须把我的主机使用的端口不是 8000。我有端口 8000 映射到 8186,所以我必须把 APP_URL=http://localhost:8186

                      【讨论】:

                        【解决方案13】:

                        如果您使用的是sails,请尝试运行:

                         sail artisan storage:link
                        

                        【讨论】:

                          猜你喜欢
                          • 2018-09-24
                          • 2020-09-27
                          • 2021-03-07
                          • 1970-01-01
                          • 2021-01-09
                          • 2018-07-25
                          • 2020-06-29
                          • 2019-07-21
                          • 1970-01-01
                          相关资源
                          最近更新 更多