监控系统实践第8天:安装并配置PHP的依赖管理工具Composer
今天之后就要开始接触用来开发监控系统界面和基础功能的代码文件了。
昨天已经通过宝塔,安装了一个可以运行基本网站的组合:
Nginx + PHP 7.3 + Mysql
为什么是用到PHP 7.3 ?
之前说到要使用PHP
做为基础语言来开发监控系统,昨天下载安装的PHP
版本为PHP 7.3
。
当前阶段,PHP已经出到了8.0
,官方也建议尽快将PHP升级到8.0
版本。
既然官方都建议要使用最新版本的PHP
,自己却安装PHP 7.3
的原因是什么呢?
最大原因是,近期在实际运用Laravel 8
的过程中,发现用来下载Laravel
框架的最新版本的Composer
,使用PHP 7.3
调用它的时候,没有产生任何问题。而使用其它版本的PHP,多多少少会出现各种错误提示,影响文件下载。
这里,我安装PHP 7.3
的目的,仅仅只是为了后期Composer
能正常的下载更新Laravel 8
的相关依赖文件。
Composer是什么 ?
Composer
是PHP
的一个依赖管理工具,其本身会关联一个自己的代码仓库,如果需要下载代码仓库里的代码,就需要使用PHP
来调用这个工具。
Composer
官方说,通过Composer
可以下载Composer
自身代码仓库中的PHP的软件包,即别人发布上去的封装好的PHP
类、框架以及与框架有关的各种类库等。我们就把它当做一个PHP的代码文件下载器就可以了。
就比如,现在需要使用Laravel
框架来开发网站,可以通过Composer
下载Laravel
的框架源码文件:
composer create-project --prefer-dist laravel/laravel=8.5.9 laravel_859
或者在开发网站时,需要一个处理Excel文档的类,也可以通过Composer
下载:
composer require "maatwebsite/excel:~3.1.28"
与Composer
有关的网站有这么几个:
- Composer官方网站,可下载Compoer:https://getcomposer.org/
- Composer的仓库站点,现有的各种依赖文件,可通过它进行查看:https://packagist.org/
- Composer的中文镜像站,可以理解成Composer的官网与仓库站点的中文镜像站点:https://www.phpcomposer.com/
开始安装配置Composer
下载Composer
我是守法公民,没有科学上网,我上Composer
的官方网站不稳定,我用国内的镜像网站下载Composer
文件,以下有两个方法,建议选后面一种:
- 通过PHP,下载Composer中文镜像站的
Composer
文件:
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
- 使用阿里云镜像下载(推荐,速度比phpcomposer.com更快):
# Linux 或 Mac
wget https://mirrors.aliyun.com/composer/composer.phar
# Windows
直接浏览器打开:https://mirrors.aliyun.com/composer/composer.phar
设置全局变量
为了方便,可以将Composer
设置为全局变量。
设置了全局变量后,可以不使用php
来执行composer
。当然,不设置全局变量也是可以的。
Linux
或Mac
系统的设置方法
# 将下载下来的 composer.phar 剪切至指定目录
sudo mv composer.phar /usr/local/bin/composer
# 设置执行权限
chmod +x /usr/local/bin/composer
# 后面需要使用的时候,直接到自己指定的目录里
composer + 空格 + 命令参数
Windows系统的设置方法
# 先为 PHP 设置全局执行目录
# 然后将下载下来的 composer.phar 剪切至 PHP 根目录中
# 最后在 PHP 的根目录中建立一个 BAT 批处理文件,文件名为:composer.bat
@php "%~dp0composer.phar" %*
设置依赖包镜像地址
官方的镜像让很多依赖包下载不稳定,如果你不能科学上网,可以使用国内的镜像进行下载,推荐有全量镜像的阿里云:
# 设置全局镜像,所有目录都切换成设置的镜像,最后接镜像地址
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 只为当前项目设置镜像,当前目录切换成设置的镜像,最后接镜像地址
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
# 取消设置的镜像,使用默认镜像,加入参数 -g 是全局,只取消当前不需要 -g
composer config -g --unset repos.packagist
composer config --unset repos.packagist
国内的几个镜像地址:
# phpcomposer
https://packagist.phpcomposer.com
# 阿里云
https://mirrors.aliyun.com/composer/
# 腾讯云
https://mirrors.cloud.tencent.com/composer/
下载依赖包前的准备
- 确保 composer 是最新版本
composer self-update
- 安装PHP,且PHP安装开启OpenSSL、CURL、ZIP扩展
常用命令
升级 composer
composer self-update
诊断(查看相关网络或软件版本是否正常)
composer diagnose
调试模式
composer 整个命令之后加 -vvv
清除缓存
composer clear
若项目之前已通过其他源安装,则需要更新 composer.lock 文件,执行命令
composer update --lock
最后的补充
今天只是大概的介绍了一下Composer
,起到了解作用。下次会通过实际操作安装配置Composer
,并用Composer
下载Laravel 8
。
以上的阐述只对有基础的朋友有作用,如果对以上的知识点有质疑或者不懂的可以在下方留言。