如何在CentOS 8上安装和使用PHP Composer
Composer 是PHP的依赖项管理器(npm是 Node.js 或 pip 是Python)。
Composer将提取您项目所依赖的所有必需PHP软件包,并为您管理它们。 它用于所有现代PHP框架和平台,例如Laravel,Symfony,Drupal和Magento2。
本教程介绍了在CentOS 8上安装Composer的步骤。如果您急于不想验证文件的完整性,请向下滚动至安装Composer-快速方法部分。
先决条件
在继续之前,请确保您已满足以下要求:
- 以具有sudo特权的用户身份登录
- 在CentOS 8 系统上安装了 PHP。
composer">在CentOS上安装Composer
执行以下步骤在CentOS 8上安装Composer。
通过以下方式安装PHP CLI(命令行接口)软件包和所有其他依赖项:
sudo dnf install php-cli php-json php-zip wget unzip
php已安装,请下载Composer安装程序脚本:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
上面的命令在当前工作目录中下载名为composer-setup.php
的文件。
通过将文件的SHA-384
哈希与 Composer公钥/签名页上的哈希进行比较,来验证数据完整性。
以下 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
。完整性通过验证后,继续下一步。
运行以下命令,将Composer安装在/usr/local/bin
目录中:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
上面的命令将composer
作为系统级命令安装,并且对所有用户均可用。输出看起来像这样
All settings correct for using ComposerDownloading...
Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
上面的命令将composer
作为系统级命令安装,并可供所有用户使用。
通过打印composer
的版本来验证安装:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
至此,您已经在CentOS系统上成功安装了Composer,然后就可以开始使用它了。
安装Composer快速方法
执行以下步骤以在您的CentOS 8系统上快速安装Composer:
安装PHP CLI和Zip:
sudo dnf install php-cli php-json php-zip curl unzip
下载带有curl的Composer:
curl -sS https://getcomposer.org/installer |php
将Composer文件移动到/usr/local/bin
目录:
sudo mv composer.phar /usr/local/bin/composer
Composer入门
现在,您的CentOS系统上已安装Composer,我们将向您展示如何在PHP项目中使用Composer。
首先创建项目根目录,然后导航到该目录:
mkdir ~/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.json
和composer.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存储库 Packagist 中搜索PHP软件包。
Composer具有自动加载功能,使您无需使用require
或include
语句即可使用PHP类。
创建名为testing.php
的文件并添加以下代码:
<?phprequire __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
让我们逐行分析代码。
在php标记后的第一行中,我们包含vendor/autoload.php
文件,该文件会自动加载所有库。
接下来,我们将Carbon\Carbon
别名为Carbon
。 最后一行使用Carbon now
方法打印当前时间。
通过键入以下内容来运行脚本:
php testing.php
输出应如下所示:
Now: 2020-03-27 22:12:26
以后,如果您想更新PHP软件包,则只需运行:
composer update
上面的命令将检查已安装软件包的较新版本,如果找到了较新版本,并且版本约束与composer.json
中指定的版本匹配,Composer将更新该软件包。
结论
您已经了解了如何在CentOS 8计算机上安装Composer。 我们还向您展示了如何使用Composer创建基本的PHP项目。
要查找有关Composer的更多信息,请访问官方 Composer文档页面。
如有任何疑问,请在下面发表评论。
以上是 如何在CentOS 8上安装和使用PHP Composer 的全部内容, 来源链接: utcz.com/z/507483.html