安装

未匹配的标注
本文档最新版为 10.x,旧版本可能放弃维护,推荐阅读最新版!

安装

安装

服务器要求

Laravel 对系统有一些要求。当然,所有这些要求 Laravel Homestead 虚拟机都能满足,因此强烈推荐你使用 Homestead 做为你的开发环境。

当然,假如你不使用 Homestead,请确保你的服务器满足以下要求:

  • PHP >= 7.2.5
  • BCMath PHP 拓展
  • Ctype PHP 拓展
  • Fileinfo PHP 拓展
  • JSON PHP 拓展
  • Mbstring PHP 拓展
  • OpenSSL PHP 拓展
  • PDO PHP 拓展
  • Tokenizer PHP 拓展
  • XML PHP 拓展

安装 Laravel

Laravel 使用 Composer 来管理项目依赖。因此,在使用 Laravel 之前,请确保你的机器已经安装了 Composer。

通过 Laravel 安装器

首先,通过使用 Composer 安装 Laravel 安装器:

composer global require laravel/installer

确保将 Composer 的全局 vendor 目录放置在你的系统环境变量 $PATH 中,以便系统可以找到 Laravel 的可执行文件。该目录根据你的操作系统存在不同的位置中;一些常见的位置包括 :

  • macOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU / Linux 发行版: $HOME/.config/composer/vendor/bin$HOME/.composer/vendor/bin

您也可以通过运行 composer global about 命令查找并查看 Composer 的全局安装路径。

安装完成后, laravel new 命令会在你指定的目录创建一个全新的 Laravel 项目。例如, laravel new blog 将会创建一个名为 blog 的目录,并已安装好 Laravel 所有的依赖项:

laravel new blog

通过 Composer 创建项目

或者,你也可以在终端中运行 create-project 命令来安装 Laravel:

composer create-project --prefer-dist laravel/laravel blog

本地开发环境

如果你在本地安装了 PHP, 并且你想使用 PHP 内置的服务器来为你的应用程序提供服务,则可以使用 Artisan 命令 serve 。该命令会在 http://localhost:8000上启动开发服务器:

php artisan serve

你也可以通过 HomesteadValet 获得更加强大的本地开发能力。

配置

公共目录

安装完 Laravel 之后,你必须将 web 服务器根目录指向 public 目录。该目录下的 index.php 文件将作为所有进入应用程序的 HTTP 请求的前端控制器。

配置文件

Laravel 框架的所有配置文件都放在 config 目录中。每个选项都有注释,方便你随时查看文件并熟悉可用的选项。

目录权限

安装完 Laravel 后,你可能需要给这两个文件配置读写权限:storage 目录和 bootstrap/cache 目录应该允许 Web 服务器写入,否则 Laravel 程序将无法运行。如果你使用的是 Homestead 虚拟机,这些权限已经为你配置好了。

应用密钥

安装 Laravel 之后下一件应该做的事就是将应用程序的密钥设置为随机字符串。如果你是通过 Composer 或 Laravel 安装器安装的 Laravel,那这个密钥已经为你通过 php artisan key:generate 命令设置好了。

通常来说,这个字符串长度为 32 个字符。密钥可以在 .env 环境文件中设置。前提是你要将 .env.example 文件重命名为 .env如果应用程序密钥没有被设置,就不能确保你的用户会话和其他加密数据的安全!

其他配置

除了以上的配置,Laravel 几乎就不需要再配置什么了。你随时就能开发!但是,可能的话,还是希望你查看 config/app.php 文件及其注释。它包含几个你可能想要根据你的应用来更改的选项,比如 timezonelocale

你还可能想要配置 Laravel 的其他几个组件,例如:

Web 服务器配置

目录配置

Laravel应该始终在您的Web服务器配置的“Web目录”的根目录中使用。您不应该尝试在“web目录”的子目录中使用 Laravel 应用程序。尝试这样做可能会暴露应用程序中存在的敏感文件。

优雅链接

Apache

Laravel 中包含了一个 public/.htaccess 文件,通常用于在资源路径中隐藏 index.php 的前端控制器。在用 Apache 为 Laravel 提供服务之前,确保启用了 mod_rewrite 模块,这样 .htaccess 文件才能被服务器解析。

如果 Laravel 附带的 .htaccess 文件不起作用,尝试下面的方法替代:

Options +FollowSymLinks -Indexes
RewriteEngine On

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Nginx

如果你使用 Nginx ,在你的站点配置中加入以下配置,所有的请求将会引导至 index.php 前端控制器:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

当你使用 HomesteadValet 时,优雅链接将会自动配置好。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/laravel/7.x/ins...

译文地址:https://learnku.com/docs/laravel/7.x/ins...

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
贡献者:5
讨论数量: 19
发起讨论 只看当前版本


light-and-dark
excel导出
1 个点赞 | 5 个回复 | 代码速记 | 课程版本 8.5
kiyoma
使用 Laravel new 指令创建项目如何制定版本?
0 个点赞 | 17 个回复 | 问答 | 课程版本 5.5
admin7742
CURLPOST
0 个点赞 | 5 个回复 | 代码速记 | 课程版本 8.x
kennethgao
说好的夜间模式呢?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
SnowZh
使用 Laravel sail 如何安装指定版本?
0 个点赞 | 2 个回复 | 问答 | 课程版本 8.5
abc123123123456
敏感词过滤
0 个点赞 | 1 个回复 | 分享 | 课程版本 8.5
piscon
硬件坑需要注意!
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.7
Jea
安装完后没 env?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.6
abc123123123456
七牛云扩展
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.5
kang_lin
比较明亮的显示
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.5
jianghushusheng
图片分割
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
esssd
date 高亮显示
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
jianghushusheng
gcms
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
hei123
php artisan make:command withdraw
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
Queen_Lr
发送验证码
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.x
XiaoSir
图片防盗链
0 个点赞 | 0 个回复 | 代码速记 | 课程版本 8.x
anningri
laravel new 不出东西来
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8
jiayier
如何让 API 的返回数据格式统一(Laravel5.8)
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8
tsin
"Pretty URLs" 的翻译
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.6