【问题标题】:Laravel hosting server public folder and storage link issueLaravel 托管服务器公用文件夹和存储链接问题
【发布时间】:2020-06-07 18:02:08
【问题描述】:

如果我试图将我的 laravel 项目放入服务器。我遇到了两个问题:

  1. 存储链接不起作用
  2. 是否必须将所有公用文件夹文件移到外部?

【问题讨论】:

  • 似乎是什么错误?权限错误?存储链路不工作时系统的行为是什么?
  • 您使用的是哪种生产服务器?它是共享主机还是 DigitalOcean 或 Heroku 之类的东西?

标签: laravel


【解决方案1】:

通常我必须将公用文件夹移到项目之外,你是对的。

/root
../app
../public

然后,在公共文件夹中的 index.php 中,您将更改

require __DIR__.'/../vendor/autoload.php';

require __DIR__.'/../app/vendor/autoload.php';

$app = require_once __DIR__.'/../bootstrap/app.php';

$app = require_once __DIR__.'/../app/bootstrap/app.php';

【讨论】:

    【解决方案2】:

    为了正确解决问题,请通过附上屏幕截图提供实际错误。 根据我对您问题的假设:

    1. 请授予您的storage 文件夹适当的权限。
    2. 在共享主机中,有时需要将图像、css、js 等资源文件夹从public 文件夹移动到根文件夹,以防public_html 文件夹中的C-Panel。

    【讨论】:

    • 您可以在 cPanel 中更改域的文档根路径。我真的不支持重组项目文件夹的想法。
    • 你需要修改 index.php 文件否则会报错
    • 谢谢..但实际上我在本地创建了存储链接,它工作正常我可以使用资产访问图像文件。但是当我托管到服务器时,存储链接快捷方式不会出现。图片文件也没有显示..
    【解决方案3】:

    以下步骤可以帮助您: (上传项目后)

    1. 将所有代码/文件放在 /public_html 目录之外,例如: (可能和你在宿主中看到的不一样,不重要)
    /.php
    /backups
    /domains
            /YourDomain.ir
                          /.htpasswd
                          /logs
                          /private_html
                          /public_html
                          /stats
                          /LaravelApp
    /imap
    
    1. 将您的 public 从 LaravelApp 移动到 public_html
    2. index.php 编辑为:
    require __DIR__.'/../LaravelApp/bootstrap/autoload.php';
    
    $app = require_once __DIR__.'/../LaravelApp/bootstrap/app.php';
    
    1. 如果您的共享主机提供商没有.ENV 权限,请将您的环境粘贴到config/*

    tls:永远不要将您的. env 文件放在公共目录中!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-07
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      • 2021-11-29
      • 2019-04-10
      • 2020-04-01
      相关资源
      最近更新 更多