本文介绍在CentOS 8系统上安装和使用PHP Composer的方法,使用Composer创建基本的PHP项目。关于安装,如果您急于不想验证文件的完整性,可以采用快速安装的方法,在安装之前您的CentOS 8系统要安装好PHP。Composer将提取您项目所依赖的所有必需PHP软件包,并为您管理它们,它用于所有现代PHP框架和平台,例如Laravel、Symfony、Drupal和Magento 2。
在CentOS 8上安装PHP Composer 执行以下步骤在CentOS 8系统上安装PHP Composer,可以先参考在CentOS 8 Linux操作系统上安装Composer的方法。 1、使用以下命令安装PHP CLI(命令行界面)软件包和所有其他依赖项: sudo dnf install php-cli php-json php-zip wget unzip 2、安装PHP CLI后,下载Composer安装程序脚本: php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 上面的命令在当前工作目录中下载一个名为composer-setup.php的文件。 3、通过将文件的SHA-384哈希值与Composer公钥/签名页面上的哈希值进行比较,来验证数据完整性,页面地址:https://composer.github.io/pubkeys.html,如下图:
以下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 否则,如果哈希值不匹配,您将看到安装程序已损坏,完整性通过验证后,请继续下一步。 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 上面的命令将composer作为系统级命令安装,并且对所有用户均可用。 5、通过以下命令来验证安装: composer -V 返回信息: Composer version 1.10.1 2020-03-13 20:34:27 至此,您已经在CentOS 8系统上成功安装了Composer,并且可以开始使用它了。
安装PHP Composer的快速方法 执行以下步骤以在您的CentOS 8系统上快速安装PHP 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
PHP Composer的使用方法 现在,您的CentOS 8系统上已经安装了PHP Composer,我们将向您展示如何在PHP项目中使用Composer。 首先创建项目根目录并导航到它: mkdir ~/my-first-composer-project cd ~/my-first-composer-project 在此示例中,我们将使用名为carbon(地址:https://carbon.nesbot.com/docs/)的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,以及一个供应商目录: ls -l
vendor是存储项目依赖项的目录。 composer.lock文件包含所有已安装软件包的列表,包括它们的版本。 composer.json是一个描述您的PHP项目的文件,其中包括PHP依赖项和其他元数据。 您可以在Composer存储库Packagist(地址:https://packagist.org/)中搜索PHP软件包。 Composer具有自动加载功能,可让您使用PHP类而无需require或include语句。 创建一个名为testing.php的文件,并添加以下代码: <?php require __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 上面的命令将检查已安装软件包的较新版本,如果找到了较新版本,并且版本约束(地址:https://getcomposer.org/doc/articles/versions.md)与composer.json中指定的版本匹配,则Composer将更新该软件包。
相关主题 |