如何在 Rocky Linux 8 上安装 PHP Composer?
bigegpt 2024-10-04 14:05 7 浏览
PHP Composer 是 PHP 最常用的依赖管理器,它允许您声明项目所需的依赖项,并且它将为您管理(安装/更新)它们。
下载、安装和更新依赖项可能会很痛苦,并且可能会分散您实际编写代码的注意力。依赖管理器会为您处理这些问题,从而使您作为开发人员的生活更轻松。
在 Composer 出现之前,有几个不同的选项来管理项目依赖项,例如 PEAR 和 PHP Package Manager。如今,Composer 已经成为 PHP 中依赖管理的事实标准。
如果您仍在使用 PEAR 或 PHP 包管理器,那么可能是时候进行更改了。使用 Composer 有几个原因:
- 它是用 PHP 编写的,不需要额外的软件安装(如 Python)
- 它支持全局和本地/私有包
- 数以千计的库和应用程序已经依赖它,因此通过使用 Composer,您将能够轻松找到包和更新。
先决条件
为了在 Rocky Linux 8.4 上安装 PHP Composer,您需要:
- 在您的系统上安装 PHP 5.3 或更高版本(并且必须能够运行 Phar 扩展)。
- 安装需要root访问权限。
更新系统
在您做任何其他事情之前,请确保您的系统的软件包是最新的。运行以下命令更新系统包。
sudo dnf check-update
sudo dnf update -y
在 Rocky Linux 8.4 上安装 PHP
在安装 Composer 之前,您需要在系统上安装 PHP 和 PHP 解释器。
默认情况下,AppStream 存储库随附 PHP 7.2、7.3 和 7.4。您可以通过运行以下命令列出所有可用的 PHP 版本。
sudo dnf module list php
您将看到如下所示的输出。
在 Rocky Linux 8.4 上安装 PHP
在本指南中,我们将安装 PHP 7.4。您应该选择一个适合您需要的 PHP 版本,但请确保您的决定不仅基于本指南,还基于像这样的兼容性报告。
运行以下命令以启用和安装 PHP 7.4。
sudo dnf module enable php:7.4
sudo dnf install php php-cli php-gd php-curl php-zip -y
sudo dnf install php-mbstring php-opcache php-intl php-mysqlnd -y
您现在可以通过运行此命令检查 PHP 是否安装正确。
php -v
您应该得到以下输出。
在 Rocky Linux 8.4 上安装 PHP Composer
现在您已经在系统上安装了一个 PHP 版本,您可以使用它来下载和安装 Composer 二进制文件。
首先,运行以下命令下载最新版本的 Composer。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
接下来,我们将验证下载的文件没有损坏。我们应该始终验证下载的文件以确保它没有损坏。Composer 可能非常敏感,错误可能会导致您使用 Composer 的方式出现问题。执行以下代码以验证安装程序文件没有损坏。
HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
验证成功后,您应该会看到文本“Installer encrypted”,如下所示。如果您没有得到预期的输出,则文件很可能已损坏,您应该再次尝试下载。然后,重复验证过程,直到获得预期的“安装程序验证”输出。
现在您有两个选项可以在您的系统上安装 Composer。
选项 1 是在您的系统上全局安装 Composer,这意味着它可以从您系统的任何目录访问,并且可以在任何地方使用。如果您想将 composer 用作命令行工具,而不仅仅是 PHP 项目的依赖项管理器,请使用此选项。
如果您使用此选项,请运行以下命令。
sudo php composer-installer.php --filename=composer --install-dir=/usr/local/bin
上面的命令将使用/usr/local/bin中名为 composer 的命令全局安装 Composer 。
您现在可以通过运行此命令来检查您是否正确安装了 Composer。
composer
您应该得到以下输出。
选项 2 是在当前目录中本地安装 Composer,以便仅由该特定项目使用。
要在本地安装 Composer,请运行以下命令。
sudo php composer-setup.php
上述命令会将 Composer 安装在本地当前目录中,以便仅由该特定项目使用。您可以通过运行 ./composer.phar 来使用作曲家。
测试 PHP Composer
现在您已经安装了 Composer,您可以使用它来创建一个可以测试您的 Composer 安装的新项目。
根据经验,您应该始终为您从事的每个项目创建一个单独的目录。运行以下命令为您的测试项目创建一个新目录并导航到新创建的目录。
cd && mkdir php-composer-test && cd php-composer-test
您现在可以运行以下命令来使用 Composer 初始化一个新项目。
composer init
上面的命令将使用您选择的所有详细信息初始化一个新项目。
composer init 命令还会在当前目录中创建一个新的 composer.json 文件,如下所示。它是一个 JSON 格式的文件,其中包含所有项目要求。Composer 使用此文件为您的项目安装所需的依赖项。
现在是时候将包加载到您的项目中了。前往https://packagist.org 并搜索要在您的项目中安装的包。
例如,如果您想安装 Remove Stop Words 包,它可以帮助我们从字符串中删除停用词。如果您在 Packagist 上搜索术语“Remove Stop Words”,您应该会看到以下结果。
要添加新包,请运行 composer require 命令并选择要加载到当前项目的包(没有任何版本)。
composer require rap2hpoutre/remove-stop-words
Composer 将自动决定使用哪个版本的包。Composer 会从 Packagist 下载包到你的当前目录并解压这个包的内容。
它还将使用有关此新包的详细信息更新 composer.json 文件。它还将创建一个新文件 - composer.lock,以及一个新的供应商目录,如下所示。
Composer 使用 composer.lock 文件来锁定当前项目中安装的包版本。此文件用于避免与同一包的其他安装或克隆项目时发生冲突。供应商目录包含您项目的所有依赖项。
要更新项目依赖项,请运行 composer update 命令。Composer 将首先查看 composer.lock 文件以找出已安装的软件包版本,然后它将使用 Packagist 上可用的最新版本更新此软件包。
composer update
样本输出:
要更新特定软件包,请运行以下命令。
composer update vendor/package
要删除特定包,请运行以下命令。
composer remove vendor/package
例如,如果您不再需要 Remove Stop Words 包,则可以运行以下命令将其从项目中卸载。
composer remove rap2hpoutre/remove-stop-words
样本输出:
“
注意:强烈建议您不要删除供应商目录或其内容,因为该目录包含所有需要与 Composer 一起安装才能运行您的应用程序的依赖项。
”
结论
在本文中,您学习了如何在 Rocky Linux 8.4 上安装 PHP Composer PHP 依赖管理器来初始化新项目、加载新包、更新现有包或从项目中卸载它们。您还学习了一些用于管理项目依赖项的基本 Composer 命令。
相关推荐
- C#.NET Autofac 详解(c# autoit)
-
简介Autofac是一个成熟的、功能丰富的.NET依赖注入(DI)容器。相比于内置容器,它额外提供:模块化注册、装饰器(Decorator)、拦截器(Interceptor)、强o的属性/方法注...
- webapi 全流程(webapi怎么部署)
-
C#中的WebAPIMinimalApi没有控制器,普通api有控制器,MinimalApi是直达型,精简了很多中间代码,广泛适用于微服务架构MinimalApi一切都在组控制台应用程序类【Progr...
- .NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式
-
一:背景1.讲故事上一篇我们讲到了注解特性,harmony在内部提供了20个HarmonyPatch重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决95%...
- C# 使用SemanticKernel调用本地大模型deepseek
-
一、先使用ollama部署好deepseek大模型。具体部署请看前面的头条使用ollama进行本地化部署deepseek大模型二、创建一个空的控制台dotnetnewconsole//添加依赖...
- C#.NET 中间件详解(.net core中间件use和run)
-
简介中间件(Middleware)是ASP.NETCore的核心组件,用于处理HTTP请求和响应的管道机制。它是基于管道模型的轻量级、模块化设计,允许开发者在请求处理过程中插入自定义逻辑。...
- IoC 自动注入:让依赖注册不再重复劳动
-
在ASP.NETCore中,IoC(控制反转)功能通过依赖注入(DI)实现。ASP.NETCore有一个内置的依赖注入容器,可以自动完成依赖注入。我们可以结合反射、特性或程序集扫描来实现自动...
- C#.NET 依赖注入详解(c#依赖注入的三种方式)
-
简介在C#.NET中,依赖注入(DependencyInjection,简称DI)是一种设计模式,用于实现控制反转(InversionofControl,IoC),以降低代码耦合、提高可...
- C#从零开始实现一个特性的自动注入功能
-
在现代软件开发中,依赖注入(DependencyInjection,DI)是实现松耦合、模块化和可测试代码的一个重要实践。C#提供了优秀的DI容器,如ASP.NETCore中自带的Micr...
- C#.NET 仓储模式详解(c#仓库货物管理系统)
-
简介仓储模式(RepositoryPattern)是一种数据访问抽象模式,它在领域模型和数据访问层之间创建了一个隔离层,使得领域模型无需直接与数据访问逻辑交互。仓储模式的核心思想是将数据访问逻辑封装...
- C#.NET 泛型详解(c# 泛型 滥用)
-
简介泛型(Generics)是指在类型或方法定义时使用类型参数,以实现类型安全、可重用和高性能的数据结构与算法为什么需要泛型类型安全防止“装箱/拆箱”带来的性能损耗,并在编译时检测类型错误。可重用同一...
- 数据分析-相关性分析(相关性 分析)
-
相关性分析是一种统计方法,用于衡量两个或多个变量之间的关系强度和方向。它通过计算相关系数来量化变量间的线性关系,从而帮助理解变量之间的相互影响。相关性分析常用于数据探索和假设检验,是数据分析和统计建模...
- geom_smooth()函数-R语言ggplot2快速入门18
-
在每节,先运行以下这几行程序。library(ggplot2)library(ggpubr)library(ggtext)#用于个性化图表library(dplyr)#用于数据处理p...
- 规范申报易错要素解析(规范申报易错要素解析)
-
为什么要规范申报?规范申报是以满足海关监管、征税、统计等工作为目的,纳税义务人及其代理人依法向海关如实申报的行为,也是海关审接单环节依法监管的重要工作。企业申报的内容须符合《中华人民共和国海关进出口货...
- 「Eurora」海关编码归类 全球海关编码查询 关务服务
-
海关编码是什么? 海关编码即HS编码,为编码协调制度的简称。 其全称为《商品名称及编码协调制度的国际公约》(InternationalConventionforHarmonizedCo...
- 9月1日起,河南省税务部门对豆制品加工业试行新政7类豆制品均适用投入产出法
-
全媒体记者杨晓川报道9月2日,记者从税务部门获悉,为减轻纳税人税收负担,完善农产品增值税进项税额抵扣机制,根据相关规定,结合我省实际情况,经广泛调查研究和征求意见,从9月1日起,我省税务部门对豆制品...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- linux安装minio (74)
- ubuntuunzip (67)
- vscode使用技巧 (83)
- secure-file-priv (67)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)