Laravel开发系列二:Laravel安装


前言

后面所有服务或者程序安装,都在虚拟机下进行操作。
Laravel框架提供了一个安装器,我们要用它来创建基于Larave的新项目。


一、安装composer服务

Laravel安装器,本质是一个PHP的程序,而这个程序,我们需要下载它的工程到本地来编译执行。

composer,是用来管理PHP依赖的工具。有了它,我们就不需要自己去下载源码编译了。

下载地址:https://pkg.phpcomposer.com/#how-to-install-composer

Homestead虚拟机默认安装了Composer,我们直接使用就好。

vagrant@laravel:~$ composer --version
Composer version 2.0.11 2021-02-24 14:57:23

二、安装Laravel

1. 下载安装器

首先,使用 Composer 安装 Laravel 安装器:

composer global require laravel/installer

经过一系列的下载,laravel的安装器便安装到了系统目录下:

vagrant@laravel:~$ ll ~/.config/composer/vendor/bin/laravel
lrwxrwxrwx 1 vagrant vagrant 32 Feb  2 00:13 /home/vagrant/.config/composer/vendor/bin/laravel -> ../laravel/installer/bin/laravel*

这一步同样也会将laravel目录写入到环境变量里。

安装完成后,就可以全局使用laravel命令来生成新项目了。

2. 生成新项目

这里需要注意,为了开发方便,我们应该在win/mac下编辑代码,linux运行工程。
所以新项目要生成在第一章里设定的共享路径里。

cd /home/vagrant/Laravel/Projects/
laravel new TestProject

执行结束后,laravel便会帮我们创建好一个全新的工程,框架需要的所有库文件都会创建在TestProject目录下。

回到Win/Mac这边,对应的共享目录下,TestProject目录和里面的文件也就都在了。
用PhpStorm打开这个目录,便可以Coding了。

3. 测试Laravel

第一章最后,我们已经启动了Nginx,并绑定了Webserver的根目录为

root "/home/vagrant/Laravel/TestLogin/public";

至此工程已经创建OK,对应的public/index.php文件已经自动生成。
现在可以尝试在Win/Mac浏览器里登录域名来测试了。

http://homestead.test/

当你能够看到下面这个页面,恭喜你,所有的环境你都准备好了。
开始Coding吧!
在这里插入图片描述

三、引用PHP版本修改

我们使用的HomeStead虚拟机,本身是安装了PHP v5~v8的所有版本的。所以当启动Laravel Server的时候,需要手动指定PHP版本,否则不一定会随机到哪个PHP上面。

1. 检查版本

在路由文件中,追加我们自己的测试逻辑

vi ProjectPath/routes/web.php

追加如下代码:

Route::get('/test/{param}', function ($param) {
	Log::debug("Web access with closure", array("param"=>$param));
    return phpinfo();
    //return "test for route : {$param}";
});

在Chrome浏览器里,打开网址:

http://homestead.test/test/anything

此时便能看到如下页面:

在这里插入图片描述
如果这里不是你想要的PHP版本,比如你想使用PHP7.4,就需要修改配置了。

2. 修改版本

事先说明,这里打印的PHP version,其实和虚拟机上默认使用的php cli version不是一码事。你可能在虚拟机上命令行下直接执行结果是这样的:

vagrant@laravel:~$ php -v
PHP 8.0.1 (cli) (built: Jan 13 2021 08:22:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies

但是通过网页访问phpinfo(),得到的却是PHP 7.4
这是因为Laravel WebServer使用的PHP版本,是由Nginx配置来决定的。

vagrant@laravel:~$ cat /etc/nginx/sites-enabled/homestead.test
server {
    listen 80;
    listen 443 ssl http2;
    server_name .homestead.test;
    root "/home/vagrant/Laravel/TestLogin/public";
...
...
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;

最后一句,便是Nginx指定的版本号,我们修改它为自己想要的版本,比如:
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
然后重启Nginx服务就可以了。

3. 自动修改版本

如果希望启动HomeStead的时候,就直接指定好PHP版本,可以借助Homestead.yaml配置文件
还记得第一章我们借助它来实现默认Nginx配置吧
加上最后一行代码:

sites:
    -
        map: homestead.test
        to: /home/vagrant/Laravel/TestLogin/public
        php: '8.0'

重启虚拟机(重新读取配置文件):

vagrant reload --provision

这样,在启动HomeStead虚拟机后,Nginx配置中就会自动修改为对应PHP版本了。

总结

在环境准备的过程中,我们总共接触到了3个PHP工程目录:

  1. Homestead :Homestead虚拟机配置工具,后续的虚拟机启动都需要用到这个目录生成的文件
  2. Laravel Installer : Laravel安装器,帮我们生成新项目
  3. TestProject :Lavarel 新项目工程

其实,当TestProject测试工程生成后,为了方便开发,我们应该将Homestead工程也集成到里面
毕竟从根源上,他们都是通过composer来管理的。
这样有助于跨机器远程项目协作。团队成员可以共享一套虚拟机配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值