laravel 安装——迹忆客-ag捕鱼王app官网
需求
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的全局安装目录。第一行显示的既是我们要找的目录
安装完成后,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;
}