安装
安装
服务器要求
Laravel 框架对系统有些要求。而 Laravel Homestead 虚拟机满足所有这些要求,因此强烈建议您用 Homestead 作为本地 Laravel 开发环境。
如果不使用 Homestead,请确保服务器满足以下要求:
- PHP >= 7.1.3
- OpenSSL PHP 扩展
- PDO PHP 扩展
- Mbstring PHP 扩展
- Tokenizer PHP 扩展
- XML PHP 扩展
- Ctype PHP 扩展
- JSON PHP 扩展
安装 Laravel
Laravel 利用 Composer 管理其依赖。因此,在使用 Laravel 之前,请确保您的计算机上安装了 Composer。
通过 Laravel 安装器
首先,使用 Composer 下载 Laravel 安装程序:
composer global require "laravel/installer"
并确保将 Composer 的运行目录添加到了环境变量 $PATH
,以便系统能找到 laravel
可执行文件。该目录根据使用的操作系统存在于不同的位置;不过,一些常见的位置如下:
- macOS:
$HOME/.composer/vendor/bin
- GNU / Linux 发行版:
$HOME/.config/composer/vendor/bin
安装完成后,使用 laravel new
命令即可在指定目录创建新的 Laravel 项目。例如,laravel new blog
命令会创建一个名为 blog
的目录,里面包含新安装的 Laravel 并已安装 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
当然,更好的选择还是通过 Homestead 和 Valet。
配置
public 目录
安装 Laravel 之后,应该将 Web 服务器的根目录指向 public
目录。该目录下的 index.php
文件将作为所有传入应用的 HTTP 请求的前端控制器。
配置文件
Laravel 框架的所有配置文件都存储在 config
目录中。每个选项都有注释,方便您随时查看文件并熟悉可用的选项。
目录权限
安装 Laravel 之后,您可能需要配置一些权限。Web 服务器应该拥有 storage
和 bootstrap/cache
目录的写入权限,否则 Laravel 将无法运行。当然,如果您使用的是 Homestead 虚拟机,这些权限都已经为您设置好了。
应用密钥
下一件要做的事,是将应用的密钥设置为随机字符串。如果您使用 Composer 或 Laravel 安装器安装的 Laravel,该密钥已经通过 php artisan key:generate
命令为您设置好了。
通常来说,这个字符串长度是 32 个字符。密钥可以在 .env
环境配置文件中设置。如果您还没有将 .env.example
文件重命名为 .env
,请先重命名。如果应用密钥未设置,就不能确保会话和其它加密数据的安全!
更多配置
除了以上配置,Laravel 几乎就不需要再配置什么了。您随时可以进行开发!不过,还是希望您查看 config/app.php
文件和里面的注释。其中包含几个可能要根据应用进行更改的选项,比如 timezone
和 locale
。
可能还想配置 Laravel 的一些其它组件,例如:
Web 服务器配置
优雅链接
Apache
Laravel 使用 public/.htaccess
文件隐藏前端控制器 index.php
以提供优雅链接。在使用 Apache 作为服务器之前,请确保启用了 mod_rewrite
模块,以便服务器支持 .htaccess
文件解析。
如果 Laravel 自带的 .htaccess
文件对安装的 Apache 不起作用,可以尝试替换为以下内容:
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;
}