如何在 CentOS 8 上安装和使用 Composer

简介:

image

本文最先发布在: https://www.itcoder.tech/posts/how-to-install-and-use-composer-on-centos-8/

Composer 是一个 PHP 依赖管理器(类似于 Node.js 的 npm,或者 Python 的 pip)。

Composer 将会拉取你的项目所依赖的所有 PHP 软件包,并且为你管理它们。它被所有现代化的 PHP 框架和平台所使用,例如: Laravel, Symfony, Drupal, 和 Magento 2。

这篇指南将会介绍在 CentOS 8 上安装 Composer 的几个步骤。如果你很着急,并且不想验证文件完整性,往下滑动到 "快速安装 Composer" 这一节。

一、前提条件

确保在继续下面的步骤之前,你满足了下面的前提条件:

二、在 CentOS 上安装 Composer

在 CentOS 8 上执行下面的步骤,安装 Composer。

01.安装 PHP CLI(命令行界面)软件包和其他所有的依赖软件包:

sudo dnf install php-cli php-json php-zip wget unzip

02.一旦 PHP CLI 被安装,下载 Composer 安装脚本:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

上面的这个命令将会在当前工作目录下载一个名为 composer-setup.php的文件。

03.验证文件的完整性,将文件的SHA-384哈希值和omposer Public Keys / Signatures页面的哈希值进行比对。

下面的 wget 命令将会从 Composer 的 Github 页面下载最新的 Composer签名,然后存储为一个变量,名字为HASH

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

想要验证安装脚本是否损坏,运行下面的命令:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

如果 哈希值匹配,下面的信息将会被展示:

Installer verified

否则,如果哈希值不匹配,那么你将会看到Installer corrupt。一旦完整性通过验证,请继续接下来的步骤。

04.运行下面的命令,将 Composer 安装到/usr/local/bin目录:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

上面的命令将composer安装成一个系统范围的命令,所有用户都可以使用。输出将会像这样:

All settings correct for using Composer
Downloading...

Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

05.通过打印 Composer 的版本,验证安装是否成功:

composer -V
Composer version 1.10.1 2020-03-13 20:34:27

此时,你已经在你的 CentOS 系统上成功安装了 Composer,你可以开始使用它了。

三、安装 Composer【快速方式】

执行下面的步骤,在你的 CentOS 8 系统上快速安装 Composer:

01.安装 PHP CLI 和 ZIP:

sudo dnf install php-cli php-json php-zip curl unzip

02.使用 curl 安装 Composer:

curl -sS https://getcomposer.org/installer |php

03.移动 Composer 文件 到 /usr/local/bin目录:

sudo mv composer.phar /usr/local/bin/composer

四、开始使用 Composer

现在 Composer 在你的 CentOS 系统上安装好了,我们将会向你展示如何在一个 PHP 项目中使用 Composer。

开始创建项目,并且切换到项目根目录:

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

在这个例子中,我们将会使用一个名为 carbon的 PHP 软件包来创建一个简单的应用。该应用主要用来打印当前时间。

运行下面的命令来初始化一个新的 Composer 项目,并且安装 carbon 软件包:

composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
  - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)         
  - Installing symfony/translation (v5.0.6): Downloading (100%)         
  - Installing nesbot/carbon (2.32.1): Downloading (100%)         
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

就像你从上面的输出所看到的,Composer 创建了一个名为composer.json的文件,并且下载了 carbon 和它的所有依赖软件包。

如果你列出你的项目目录,你将看到它包含了composer.jsoncomposer.lock,还有一个 vendor目录。

ls -l
-rw-rw-r--. 1 vagrant vagrant    60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant    82 Mar 27 18:06 vendor
  • vendor是项目依赖软件包储存的目录。
  • composer.lock文件包含了一个所有已经安装依赖软件包的清单,以及它们的版本号。
  • composer.json是一个用来描述你的 PHP 项目的文件,它包含了 PHP 依赖软件包以及其他元信息。

    你可以搜索 [Composer 源仓库](https://packagist.org/),获取更多 PHP 软件包。
    

Composer 拥有自动加载的能力,它允许你使用 PHP 类,而不用使用requireinclude声明。

创建一个名为testing.php的测试文件,并且添加下面的代码:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

让我们一行一行分析代码。

第一行在一个开放的 PHP 标签后,我们包含了/vendor/autoload.php文件,它允许自动加载所有的类库。

下一步,我们将Carbon\Carbon关联为Carbon. 最后一行使用了Carbon打印现在的时间。

输入下面的命令,运行脚本:

php testing.php

输出将会像下面这样:

Now: 2020-03-27 22:12:26

稍后,如果你想升级你的 PHP 软件包,你只需简单运行:

composer update

上面的这个命令,我们会检查所有已经安装的软件包是否有更新的版本,并且,如果有更新的版本,Composer 将会升级软件包。

五、总结

你已经学会如何在你的 CentOS 8 机器上安装 Composer。我们也已经向你展示了如何使用Composer来创建一个基础的 PHP 项目。

想要寻找更多关于 Composer 的信息,请浏览 Composer 官方文档页面






如果你有任何疑问,请通过以下方式联系我们:

微信: sn0wdr1am86

itcoder_weixin_jpeg

微信群:
加上面的微信,备注微信群

QQ: 3217680847

itcoder_qq_jpeg

QQ 群: 82695646
itcoder_qqqun_jpeg

相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
168 0
|
2月前
|
关系型数据库 MySQL Linux
centos7.0环境下安装MySql_8.0.12
centos7.0环境下安装MySql_8.0.12
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
2天前
|
Linux
centos 6.5安装yum
centos 6.5安装yum
14 0
|
2天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置PXE服务
PXE是Intel开发的预启动执行环境,允许工作站通过网络从远程服务器启动操作系统。它依赖DHCP分配IP,DNS服务分配主机名,TFTP提供引导程序,HTTP/FTP/NFS提供安装源。要部署PXE服务器,需关闭selinux和防火墙,安装dhcpd、httpd、tftp、xinetd及相关服务,配置引导文件和Centos7安装源。最后,通过syslinux安装引导文件,并创建pxelinux.cfg/default配置文件来定义启动参数。
7 0
|
2天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
9 0
|
2天前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
9 0
|
3天前
|
存储 Linux 网络安全
centos7使用yum网络安装
这些是使用Yum进行网络安装的基本步骤。根据你的需求,你可以重复步骤3和4来安装其他软件包。请注意,执行Yum操作需要root或具有sudo权限的用户。
15 1
|
9天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
59 2
|
16天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
29 0