如何在Ubuntu上安装和使用PHP Composer
Composer是PHP的依赖项管理器(类似于Node.js的npm或Python的pip)。
使用Composer,您可以指定项目依赖的PHP库,它将为您提取和管理所有库和依赖项。Composer用于所有现代PHP框架和平台,例如Laravel,Symfony,Drupal和Magento。
本教程说明了如何在Ubuntu 20.04上安装和使用Composer。
一、在Ubuntu服务器上安装PHP Composer
在安装Composer之前,请确保已在系统上安装了所有必需的要求:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer提供了一个用PHP编写的安装程序,我们将使用它来安装Composer。使用wget下载安装程序:
wget -O composer-setup.php https://getcomposer.org/installer
上面的命令会将文件保存composer-setup.php在当前工作目录中。
Composer是单个文件CLI应用程序,可以全局安装或作为项目的一部分安装。全局安装需要sudo特权。
要将Composer作为适用于所有用户的系统级命令全局安装,只需将文件放在系统中的目录中即可PATH。运行以下命令以在/usr/local/bin目录中安装Composer :
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
输入如下:

现在,您可以通过composer在终端中运行来使用Composer
要在本地安装composer,请输入:
sudo php composer-setup.php --install-dir=/path/to/project
这将下载一个composer.phar在项目根目录中命名的文件。要使用Composer,请导航到项目目录并运行php composer.phar
当有新的Composer版本可用时,可以使用以下命令更新安装:
sudo composer self-update sudo composer self-update
二、Composer入门
现在,在您的Ubuntu系统上已经安装了Composer,让我们看看如何使用Composer创建一个PHP项目。
第一步是创建项目根目录并导航到它:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
在此示例中,我们将使用一个名为carbon的PHP包来创建一个示例应用程序,该应用程序将显示当前时间。
运行以下命令以初始化新的Composer项目并安装carbon软件包:
composer require nesbot/carbon
输出如下:

如输出所示,Composer创建composer.json文件并下载并安装carbon及其所有依赖项。
如果你列出你的项目目录,你会看到它包含两个文件composer.json和composer.lock,和vendor目录。
ls -l
输入如下:

vendor 是存储项目依赖项的目录。
composer.lock 是一个文件,其中包含有关所有已安装软件包及其版本的信息,从而将项目锁定为特定版本。
composer.json 是描述您的PHP项目的文件,包括PHP依赖项和其他元数据。
Packagist列出了可通过Composer安装的所有PHP软件包。
composer自动加载功能,这允许我们使用PHP类,而无需require或include文件。
创建一个名为的文件,testing.php并添加以下代码:
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
让我们逐行分析代码。
vendor/autoload.php文件是由Composer自动生成并自动加载所有的库。
下一行创建别名Carbon,最后一行使用Carbon now方法打印当前时间。
通过键入以下命令来运行脚本:
php testing.php
输出应如下所示:
Now: 2020-06-17 20:41:04
以后,如果您需要更新项目包,请输入:
composer update
上面的命令将检查已安装软件包的较新版本,如果找到了较新的版本,并且版本约束与中指定的匹配composer.json,Composer将更新该软件包。
结论
我们已经向您展示了如何在Ubuntu 20.04系统服务器上安装Composer以及如何使用它来创建基本的PHP项目。