[ Laravel 5.8 中文文档 ] 入门——安装
服务器要求
Laravel框架有一些系统要求。Laravel Homestead 虚拟机满足了所有这些要求,因此强烈建议您使用Homestead作为您本地的Laravel开发环境。
如果您不使用Homestead,则需要确保您的服务器满足以下要求:
- PHP> = 7.1.3
- OpenSSL PHP扩展
- PDO PHP扩展
- Mbstring PHP扩展
- Tokenizer PHP扩展
- XML PHP扩展
- Ctype PHP扩展
- JSON PHP扩展
- BCMath PHP扩展
安装Laravel
Laravel使用 Composer 来管理其依赖关系。因此,在使用Laravel之前,请确保在您的计算机上安装了Composer。
通过Laravel安装器
首先,使用Composer下载Laravel安装程序:
composer global require laravel/installer
确保将composer的系统范围的供应商bin目录放在您的系统$PATH
中,以便系统可以找到laravel可执行文件。根据系统不同,此目录存在于系统的不同位置; 一些常见的位置包括:
- macOS:
$HOME/.composer/vendor/bin
- GNU/Linux发行版:
$HOME/.config/composer/vendor/bin
- Windows:
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
安装后,laravel new
命令将在您指定的目录中创建一个全新的Laravel项目。例如,laravel new blog
将创建一个名为blog
的目录,且安装了所有Laravel的依赖项:
laravel new blog
通过Composer创建项目
或者,您也可以通过在终端中通过 Composer 命令来安装Laravel :create-project
composer create-project --prefer-dist laravel/laravel blog
本地开发服务器
如果您在本地安装了PHP并且希望使用PHP的内置开发服务器来为您的应用程序提供服务,则可以使用Artisan命令:serve
。
php artisan serve
此命令将在以下位置启动开发服务器:http://localhost:8000
Homestead 和 Valet 是更好的的本地开发选择。
配置
公共目录
安装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
文件和相关说明。包含了一些根据应用可能需要进行改变的配置,比如 timezone
和 locale
。
您可能还想配置Laravel的一些其他组件,例如:
Web服务器配置
Apache
Laravel包含一个 public/.htaccess
文件,用于隐藏前端控制器URL中的 index.php
。在使用Apache为Laravel提供服务之前,需要先确保 Apache 启用了 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;
}