【问题标题】:Missing public folder in LaravelLaravel 中缺少公用文件夹
【发布时间】:2018-09-19 12:49:23
【问题描述】:

我从客户那里收到了一个项目。我尝试使用php artisan serve 命令将其安装在我的本地机器上,但发现以下错误

在 Google 中搜索后,我找到了this 问题。然后发现我的项目目录下没有public文件夹。

删除这个public文件夹有什么具体原因吗?还是不小心留下的?

我变了

chdir($this->laravel->publicPath());

在 vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php 中:

chdir('/');

根据this 问题。之后,当我使用php artisan serve 运行我的项目时,我得到一个空白页。

解决办法是什么?

【问题讨论】:

    标签: laravel-5.6


    【解决方案1】:

    他们可能尝试将应用程序设置为从根目录而不是公用文件夹运行。通常发生在 Laravel 应用程序设置为在共享主机上运行(我可能会错误地添加)时。

    创建一个新的公共目录并将您的 js、css 和 index.php 文件移回其中。还要检查从根目录引用 index.php 的任何显式路径并更新它们,以便它们指向公共目录。您还必须在您的公共目录中创建一个新的 htaccess 文件(或从根目录移动现有的文件)。

    只需与干净的 laravel 安装的目录结构进行比较,您就可以看到缺少的内容。

    【讨论】:

      【解决方案2】:

      由于缺乏经验,大多数新开发人员正在使用这种方法将公用文件夹隐藏在真实服务器中。我建议您将主文件夹从“/”编辑回“公共”

      首先,查看您的index.php 文件并替换

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

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

      2) 更改require 'vendor/autoload.php';

      到

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

      3) 创建一个新的公共文件夹并将您的资产文件和index.php放在那里。

      您可以在这些步骤之后尝试php artisan config:clear。

      别忘了主要目的是取回 public 文件夹。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-08
        • 2018-04-24
        • 1970-01-01
        • 2014-09-20
        • 2019-05-05
        • 1970-01-01
        • 1970-01-01
        • 2015-12-14
        相关资源
        最近更新 更多