使用 laravel/installer 创建新应用程序只显示文件结构而不是网站

Posted

技术标签:

【中文标题】使用 laravel/installer 创建新应用程序只显示文件结构而不是网站【英文标题】:Creating new app with laravel/installer shows just file structure not website 【发布时间】:2018-09-27 18:15:40 【问题描述】:

我刚决定开始学习 Laravel。通过关注Getting Started,对我来说最简单的解决方案似乎是开始使用 laravel 安装程序。

所以我所做的是全局安装安装程序,然后简单地通过laravel new laravelapi 创建新项目。

在 cli 准备好之后,我用我的数据库信息编辑了 .env 文件,并将 APP_URL 更改为 http://localhost/laravelapi/(我使用的是 XAMPP,laravelapi 是我的项目名称)。不幸的是,当我在该 URL 上打开浏览器时,我只看到文件,而不是呈现的网站。

有趣的是,当我打开 http://localhost/laravelapi/server.php 站点时正确加载(这只是一些琐碎的 laravel 默认页面)

我想知道htaccess 是否正常工作我试图检查我的apache 是否有mod_rewrite 作为他加载的模块之一,但它在那里。

我真的是新手,我显然错过了一些重要的事情,但我在这里与它战斗了几个小时,没有任何结果。以前有人遇到过这个问题吗?如果有,解决办法是什么?

【问题讨论】:

Laravel 项目的文档根目录是public 目录:你需要修改你的目录根目录。 public/index.php 文件是您网站的入口点:用户永远不能访问 public 之外的任何内容。 index.php 在公用文件夹中移动到该目录,或者您可以使用 serve Artisan 命令:php artisan serve 谢谢!它解决了我的问题。随意将其添加为答案,让我将其标记为正确。顺便说一句,有没有办法轻松改变它?所以root会在/上? 【参考方案1】:

我有同样的问题,但我解决了这个问题。当我们安装 Laravel 时,.htaccess 文件在 public 文件夹中。

从公用文件夹中剪切 .htaccess 文件 将此文件粘贴到项目的根文件夹中

【讨论】:

为什么这被否决并且有效?确保在移动文件后重新启动 apache。【参考方案2】:

我遇到同样的问题是错误背后的两个原因。 一个不是放在根目录中的正确.htaccess 文件。 其他 php 版本与你的 laravel 当前版本(低 PHP 版本)不兼容。

【讨论】:

【参考方案3】:

通过“http://localhost/laravelapi/public”访问项目不是很好的做法

您可能会在符号链接或托管项目时遇到问题。为您的 PHP 项目提供 vHost 非常好。

您可以为 xampp 创建一个虚拟主机,并将文档根目录添加到 Laravel 项目的公共目录中,例如“../Project/laravelapi/public”。

你也可以使用内置的开发服务器命令php artisan serve 这将在“http://localhost:8000”上启动您的服务器。

更多有用的链接 1. Laravel 文档 - here 2. Xampp 的虚拟主机 - Here

【讨论】:

【参考方案4】:

Laravel 项目的文档根目录是 public 目录。所有用户请求都应路由到public/index.php,除非请求的文件存在于public 目录中——例如:assets。

您可以按照this *** answer中提供的步骤更改xampp操作项目的文档根目录。

【讨论】:

以上是关于使用 laravel/installer 创建新应用程序只显示文件结构而不是网站的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上通过 Laravel Installer 安装 Laravel?

laravel在*nix 下安装及创建项目

laravel/lumen-installer 安装失败:guzzlehttp/guzzle 锁定在 6.3.0

创建一个 Laravel 项目

我们是不是需要使用相同的证书和配置文件来分发新应用以替换 iOS 中的旧应用?

如何为 8.x 版本更新 Laravel 安装程序?