我从客户那里收到了一个项目。我尝试使用php artisan serve
命令将其安装在本地计算机中,但发现以下错误
在Google中搜索后,我发现了一个this问题。然后我发现我的项目目录中没有公用文件夹。
是否有特定原因删除此 public 文件夹?还是不小心遗失了?
我改变了
chdir($this->laravel->publicPath());
在vendor / laravel / framework / src / Illuminate / Foundation / Console / ServeCommand.php中至:
chdir('/');
按照this问题进行。之后,在使用php artisan serve
运行项目时,我得到了一张空白的页面。
解决方案是什么?
答案 0 :(得分: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 文件夹。
答案 1 :(得分:1)
他们可能试图将应用设置为从根目录而不是公用文件夹运行。通常会在将Laravel应用设置为在共享主机上运行(我可能会错误地添加)时发生。
创建一个新的公共目录,并将您的js,css和index.php文件移回其中。还要检查是否有任何从根目录引用index.php的显式路径,并对其进行更新,以便它们指向公共目录。您还必须在公共目录中创建一个新的htaccess文件(或从根目录移动现有的htaccess文件)。
只需与干净的laravel安装的dir结构进行比较,您就可以看到丢失的内容。