Laravel 安装

需求

Laravel框架有一些系统要求。 Laravel Homestead虚拟机可以满足所有这些要求,因此强烈建议您将Homestead用作本地Laravel开发环境。

但是,如果您不使用Homestead,则需要确保服务器满足以下要求:

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

以上是保证Laravel框架本身的运行对于PHP的要求。


安装

Laravel 使用 Composer来管理它的应用包,所以我们还要保证我们的机器上有 Composer。

一、通过Laravel安装程序安装

首先,我们需要用composer来获取Laravel的安装器

$ composer global require laravel/installer

确保将Composer的vendor bin目录放在系统目录中($PATH)中,以便系统可以找到laravel可执行文件。 不同的操作系统,该目录存在于不同的位置。 但是,一些常见的位置包括:

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

我们可以通过运行 composer global about 命令来查找Composer的全局安装目录。第一行显示的既是我们要找的目录

composer全局安装目录查找

安装完成后,laravel new命令将在指定的目录中创建一个全新的Laravel项目。 例如,laravel new blog将创建一个名为blog的目录,其中包含一个全新的Laravel项目,并且里面已经安装了所有Laravel的依赖项:

$ laravel new blog

二、 通过 Composer Create-Project 安装

另外,我们也可以通过在终端中使用Composer create-project命令来安装Laravel:

$ compser create-project --prefer-dist laravel/laravel:^7.0 blog

以上命令将创建一个名为blog的Laravel项目。

内置服务

项目安装成功之后,接下来我们要验证一下是否能正常的运行。这时候如果再通过Nginx或者Apache开启web服务,可能比较麻烦。如果我们在本地安装了PHP,并且想使用PHP的内置开发服务器来服务我们的应用程序,则可以使用Artisan命令 serve

$ php artisan serve

上面命令执行之后就会开启一个web服务,默认端口是8000,可以通过地址 http://localhost:8000 进行访问。


项目配置

Public 目录

安装Laravel之后,我们应该将Web服务器的文档或者是Web根目录配置为public目录。此目录中的index.php为所有HTTP请求的入口文件。

配置文件目录

Laravel框架的所有配置文件都存储在config目录中。每个选项都有文档说明,因此可以随时浏览文件并熟悉可用的配置项。

目录权限

安装Laravel之后,您可能需要配置一些权限。 Web服务器上的storage目录和 bootstrap 目录或者 cache 目录应该是可写的,否则Laravel将无法运行。如果使用的是Homestead虚拟机,默认应该已经设置了这些权限。

应用程序密钥

在安装Laravel之后,我们要做的下一件事是将应用程序密钥设置为随机字符串。如果我们是通过Composer或Laravel安装程序安装了Laravel,则程序在安装的最后会自动设置了此密钥。如果是使用其他的方式安装的,或者没有这个密钥,则需要我们再使用下面的命令设置此密钥

$ php artisan key:generate

通常,此字符串应为32个字符长。可以在.env环境文件中设置密钥。如果尚未将.env.example文件复制到名为.env的新文件中,则应立即执行此操作。如果未设置应用程序密钥,则用户会话和其他加密数据将不安全!

其他配置项

Laravel几乎不需要其他任何配置。我们现在就可以自由地开始开发了!但是,我们可能希望查看config/app.php文件及其文档。它包含多个选项,例如时区和区域设置。我们可能希望根据应用程序进行更改。

我们可能还需要配置Laravel的一些其他组件,例如:

  • Cache
  • Database
  • Session

Web 服务器的配置

配置访问目录

通常情况下,Laravel应用不会放在为Web应用服务指定的Web 目录 的根目录中,我们不应尝试从“ Web目录”的子目录中服务Laravel应用程序。 尝试这样做可能会暴露应用程序内存在的敏感文件。

网址伪静态

Apache

Laravel包含一个public/.htaccess文件,该文件用于提供伪静态的,所谓伪静态就是我们输入的请求网址中不带.php,但是这种形式我们的Laravel是找不到路由的,所以需要使用.htaccess 文件中配置相应的规则,将请求路径转换成类似于 /index.php?params 的形式,这样Laravel是可以找到路由的。同时在前端显示的还是我们输入的地址的形式,而不是转换之后的形式。 在将Laravel与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;
}

查看笔记

扫码一下
查看教程更方便