PHP >= 7.1.3
PHP OpenSSL 扩展
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展
PHP Ctype 扩展
PHP JSON 扩展
知足以上需求之后,就可以开始安装 Laravel 了。
安装 LaravelLaravel 利用 Composer 管理依赖,以是,安装之前确保已经在机器上安装了 Composer(如果尚未安装的话参考这份文档去安装吧)。
通过 Laravel 安装器
首先,通过 Composer 安装 Laravel 安装器:
composer global require \"大众laravel/installer\公众
确保
$HOME/.composer/vendor/bin
在系统路径中(Mac中对应路径是
~/.composer/vendor/bin
,Windows对应路径是
~/AppData/Roaming/Composer/vendor/bin
,个中
~
表示当前用户家目录),否则不能在命令行任意路径下调用
laravel
命令。
安装完成后,通过大略的
laravel new
命令即可在当前目录下创建一个新的 Laravel 运用,例如,
laravel new blog
将会创建一个名为
blog
的新运用,且包含所有 Laravel 依赖。该安装方法比通过 Composer 安装要快很多:
laravel new blog
如果之前已经安装过旧版本的 Laravel 安装器,须要更新后才能安装最新的 Laravel 5.6 框架运用:
composer global update
通过 Composer Create-Project
你还可以在终端中通过 Composer 的
create-project
命令来安装 Laravel 运用:
composer create-project --prefer-dist laravel/laravel blog
如果要下载安装 Laravel 其他版本运用,比如 5.5 版本,可以利用这个命令:
composer create-project --prefer-dist laravel/laravel blog 5.5.。
本地开拓做事器
如果你在本地安装了 PHP,并且想要利用 PHP 内置的开拓环境做事器为运用供应做事,可以利用 Artisan 命令
serve
:
php artisan serve
该命令将会在本地启动开拓环境做事器,这样在浏览器中通过
http://localhost:8000
即可访问运用:

当然,更强大确当地开拓环境选择还是 Homestead 和 Valet。
配置 Laravel初始化配置
公共目录
安装完 Laravel 后,须要将 Web 做事器的 document/web 根目录指向 Laravel 运用的
public
目录,该目录下的
index.php
文件作为前端掌握器(单一入口),所有 HTTP 要求都会通过该文件进入运用。
配置文件
Laravel 框架的所有配置文件都存放在
config
目录下,所有的配置项都有注释,以是你可以轻松遍览这些配置文件以便熟习所有配置项。
目录权限
安装完 Laravel 后,须要配置一些目录的读写权限:
storage
和
bootstrap/cache
目录对 Web 做事器指定的用户而言该当是可写的,否则 Laravel 运用将不能正常运行。如果你利用 Homestead 虚拟机做为开拓环境,这些权限已经设置好了。
运用key
接下来要做的事情便是将运用的 key(APP_KEY)设置为一个随机字符串,如果你是通过 Composer 或者 Laravel 安装器安装的话,该 key 的值已经通过
php artisan key:generate
命令天生好了。
常日,该字符串该当是 32 位长,通过
.env
文件中的
APP_KEY
进行配置,如果你还没有将
.env.example
文件重命名为
.env
,现在立即这样做。如果运用 key 没有被设置,用户 Session 和其它加密数据将会有安全隐患!
更多配置
Laravel 险些不再须要其它任何配置就可以正常利用了,不过,你最好再看看
config/app.php
文件,个中包含了一些基于运用可能须要进行改变的配置,比如
timezone
和
locale
(分别用于配置时区和本地化)。
你可能还想要配置 Laravel 的一些其它组件,比如缓存、数据库、Session 等,关于这些我们将会在后续文档逐一磋商。
Web 做事器配置关于虚拟主机的配置(映射域名到Laravel运用目录)略过,如果理解细节可参考这篇教程,当然也可以留待下一篇讲 Homestead 和 Valet 再去理解。本文只磋商如何美化 URL 让其更具有可读性。
Apache
框架中自带的
public/.htaccess
文件支持隐蔽 URL 中的
index.php
,如过你的 Laravel 运用利用 Apache 作为做事器,须要先确保 Apache 启用了
mod_rewrite
模块以支持
.htaccess
解析。
如果 Laravel 自带的
.htaccess
文件不起浸染,试试将个中内容做如下更换:
Options +FollowSymLinksRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^ index.php [L]
Nginx
如果你利用的是 Nginx,利用如下站点配置指令就可以支持 URL 美化:
location / { try_files $uri $uri/ /index.php?$query_string;}
当然,利用 Homestead 或 Valet 的话,以上配置已经为你配置好,无需额外操作。
环境配置基于运用运行的环境不同设置不同的配置值能够给我们开拓带来极大的方便,比如,我们常日在本地和线上环境配置不同的缓存驱动,这一功能在 Laravel 中很随意马虎实现。
Laravel 利用 PHP 扩展库 DotEnv 来实现这一功能,在新安装的 Laravel 中,根目录下有一个
.env.example
文件,如果 Laravel 是通过 Composer 安装的,那么该文件已经被重命名为
.env
,否则的话你要自己手动重命名该文件。
不要试图将
.env
文件提交到版本掌握系统(如Git或Svn)中,一方面,开拓环境和线上环境配置值不一样,提交没故意义,更主要的是,
.env
包含了很多运用敏感信息,如数据库用户名及密码等,如果不慎将代码提交到 Github 公开仓库,后果将不堪设想!
如果你是在一个团队中进行开拓,则须要将
.env.example
文件随你的运用代码一起提交到源码掌握中:将一些配置值以占位符的办法放置在
.env.example
文件中,这样其他开拓者就会很清楚运行你的运用须要配置哪些环境变量。
还可以创建一个
.env.testing
文件,该文件会在运行 PHPUnit 测试或实行带有
--env=testing
选项的 Artisan 命令时覆盖从
.env
文件读取的值。
注:
.env
文件中的所有变量都可以被外部环境变量覆盖,例如做事器级别或系统级别的环境变量。
获取环境变量配置值
运用每次接管要求时,
.env
中列出的所有配置及其对应值都会被载入到 PHP 超全局变量
$_ENV
中,然后你就可以在运用中通过赞助函数
env
来获取这些配置值。实际上,如果你去查看 Laravel 的配置文件,就会创造很多地方已经在利用这个赞助函数了:
'debug' => env('APP_DEBUG', false),
通报到
env
函数的第二个参数是默认值,如果环境变量没有被配置将会利用该默认值。
判断当前运用环境
当前运用环境由
.env
文件中的
APP_ENV
变量决定,你可以通过
App
门面上的
environment
方法来访问其值:
$environment = App::environment();
你也可以向
environment
方法通报参数来判断当前环境是否匹配给定值,如果须要的话你乃至可以通报多个值。如果当前环境与给定值匹配,该方法返回
true
:
if (App::environment('local')) { // The environment is local}if (App::environment('local', 'staging')) { // The environment is either local OR staging...}
注:当前运用环境判断可以被做事器级别环境变量
APP_ENV
覆盖。当你须要在不同环境配置间共享同一运用时很有用,你可以在做事器配置中设置一个给定主机来匹配给定环境。
访问配置值
你可以利用全局赞助函数
config
在运用代码的任意位置访问配置值,配置值以文件名+“.”+配置项的办法进行访问,当配置项没有被配置的时候返回默认值:
$value = config('app.timezone');
如果要在运行时设置配置值,通报数组参数到
config
方法即可:
config(['app.timezone' => 'Asia/Shanghai']);
缓存配置文件
为了给运用加速,你可以利用 Artisan 命令
config:cache
将所有配置文件的配置缓存到单个文件里,这将会将所有配置选项合并到单个文件从而被框架快速加载。
运用每次上线,都要运行一次
php artisan config:cache
,但是在本地开拓时,没必要常常运行该命令,由于配置值常常会改变。
注:如果在支配过程中实行
config:cache
命令,须要确保只在配置文件中调用了
env
方法。一旦配置文件被缓存后,
.env
文件将不能被加载,所有对
env
函数的调用都会返回
null
。
掩护模式当你的运用场于掩护模式时,所有对运用的要求都该当返回同一个自定义视图。这一功能在对运用进行升级或者掩护时,使得“关闭”站点变得轻而易举。对掩护模式的判断代码位于运用默认的中间件栈中,如果运用场于掩护模式,访问运用时状态码为
503
的
MaintenanceModeException
将会被抛出。
要开启掩护模式,关闭站点,只需实行 Artisan 命令
down
即可:
php artisan down
还可以供应
message
和
retry
选项给
down
命令。
message
的值用于显示或记录自定义,而
retry
的值用于设置 HTTP 要求头的
Retry-After
:
php artisan down --message=\"大众Upgrading Database\"大众 --retry=60
要关闭掩护模式,开启站点,对应的 Artisan 命令是
up
:
php artisan up
注:你可以通过定义自己的模板来定制默认的掩护模式模板,自定义模板视图位于
resources/views/errors/503.blade.php
。
掩护模式 & 行列步队
当你的站点处于掩护模式中时,所有的行列步队任务都不会实行;当运用退出掩护模式这些任务才会被连续正常处理。
掩护模式的替代方案
由于掩护模式命令的实行须要几秒韶光,你可以考虑利用 Envoyer 实现零秒下线作为替代方案。