安装

安装

服务器要求

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

当然,更好的选择还是通过 HomesteadValet

配置

public 目录

安装 Laravel 之后,应该将 Web 服务器的根目录指向 public 目录。该目录下的 index.php 文件将作为所有传入应用的 HTTP 请求的前端控制器。

配置文件

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

目录权限

安装 Laravel 之后,您可能需要配置一些权限。Web 服务器应该拥有 storagebootstrap/cache 目录的写入权限,否则 Laravel 将无法运行。当然,如果您使用的是 Homestead 虚拟机,这些权限都已经为您设置好了。

应用密钥

下一件要做的事,是将应用的密钥设置为随机字符串。如果您使用 Composer 或 Laravel 安装器安装的 Laravel,该密钥已经通过 php artisan key:generate 命令为您设置好了。

通常来说,这个字符串长度是 32 个字符。密钥可以在 .env 环境配置文件中设置。如果您还没有将 .env.example 文件重命名为 .env,请先重命名。如果应用密钥未设置,就不能确保会话和其它加密数据的安全!

更多配置

除了以上配置,Laravel 几乎就不需要再配置什么了。您随时可以进行开发!不过,还是希望您查看 config/app.php 文件和里面的注释。其中包含几个可能要根据应用进行更改的选项,比如 timezonelocale

可能还想配置 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;
}

当然,使用 Homestead 或者 Valet 时,优雅链接会自动配置。