在CentOS 8 上安装和使用 Composer

简介: Composer是一个 PHP 依赖管理器(类似于 Node.js 的 npm,或者 Python 的 pip),会拉取你的项目所依赖的所有 PHP 软件包,并且为你管理它们。它被所有现代化的 PHP 框架和平台所使用,例如: Laravel, Symfony, Drupal, 和 Magento 2。本文将为大家介绍在 CentOS 8 上安装 Composer 的几个步骤。

hailuo_1071512765_RF.jpg
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

一、前提条件

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

二、在 CentOS 上安装 Composer

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

  • 方法一(普通安装)

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

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

2、安装完之后,下载 Composer 安装脚本:

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

上面的这个命令将会在当前工作目录下载一个名为 composer-setup.php的文件。
3、验证文件的完整性,将文件的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
4、验证通过后,运行下面的命令,将 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

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

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

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

  • 方法二(快速安装)

1、安装 PHP CLI 和 ZIP:

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

2、使用 curl 安装 Composer:

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

3、移动 Composer 文件 到 /usr/local/bin目录:

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

三、使用 Composer

 Composer 在 CentOS 系统上安装好之后,接下来会向你展示如何在一个 PHP 项目中使用 Composer。
1、开始创建项目,并且切换到项目根目录:

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

在这个例子中,我们将会使用一个名为 carbon的 PHP 软件包来创建一个简单的应用。该应用主要用来打印当前时间。
2、运行下面的命令来初始化一个新的 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 和它的所有依赖软件包。
3、查看composer项目目录,你将看到它包含了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 源仓库,获取更多 PHP 软件包。

Composer 拥有自动加载的能力,它允许你使用 PHP 类,而不用使用requireinclude声明。
4、创建一个名为testing.php的测试文件,并且添加下面的代码:

<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());

5、代码分析。
第一行在一个开放的 PHP 标签后,包含了/vendor/autoload.php文件,它允许自动加载所有的类库。
下一步,将Carbon\Carbon关联为Carbon. 最后一行使用了Carbon打印现在的时间。
输入下面的命令,运行脚本:

php testing.php

输出界面如下:

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

如果你想升级你的 PHP 软件包,你只需运行以下命令:

composer update

说明:上面的这个命令,会检查所有已经安装的软件包是否有更新的版本,如果有更新的版本,Composer 将会自动升级软件包。

阿里巴巴开源镜像站 提供全面,高效和稳定的镜像下载服务。钉钉搜索 ' 21746399 ‘ 加入镜像站官方用户交流群。”

相关文章
|
19天前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
95 64
|
20天前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
103 61
|
12天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
35 1
Linux系统之Centos7安装cockpit图形管理界面
|
19天前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
65 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
25天前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
137 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
4天前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
6 1
|
4天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
8 1
|
15天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
128 3
|
16天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
134 2
|
18天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
33 3