如何在Ubuntu 18.04上安装和使用PHP Composer
Composer是PHP的依赖项管理器(类似于Node.js的npm或Python的pip)。 Composer将提取您项目所依赖的所有必需PHP软件包,并为您管理它们。
在本教程中,我们将向您展示如何在Ubuntu 18.04计算机上安装和使用Composer。 相同的步骤可用于Ubuntu 16.04。
先决条件
在继续本教程之前,请确保您以具有sudo特权的用户身份登录,并且已在Ubuntu 18.04系统上安装了PHP。
安装PHP Composer#
如果您赶时间并且不想验证文件完整性,请向下滚动到 安装Composer-快速方法 部分。
要在您的Ubuntu系统上安装Composer,请执行以下步骤:
在下载和安装Composer之前,首先更新软件包索引并安装必要的要求:
sudo apt update
sudo apt install wget php-cli php-zip unzip
现在我们已经在计算机上安装了php cli,我们可以使用以下命令下载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安装脚本,然后仔细检查$HASH
可变echo $HASH
。 验证安装程序后,您可以继续下一步。以下命令会将Composer安装在
/usr/local/bin
目录:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer Downloading... Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
的
composer
作为系统级命令安装,它将对所有用户可用。最后一步是验证安装:
composer
上面的命令将打印作曲家的版本,命令和参数。
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / ____/____/_/ /_/ /_/ .___/____/____/___/_/ /_/ Composer version 1.8.5 2019-04-09 17:46:47 Usage: command [options] [arguments]
如果要按项目安装Composer,请使用以下命令 php composer-setup.php
这将创建一个名为 composer.phar
在您当前的工作目录中。 您可以通过运行来使用作曲家 ./composer.phar <command>.
安装作曲家 [Quick Way] #
使用以下命令在您的Ubuntu系统上快速安装Composer:
安装PHP CLI和Zip:
sudo apt update && sudo apt install wget php-cli php-zip unzip curl
下载带有curl的Composer:
curl -sS https://getcomposer.org/installer |php
将Composer文件移至
/usr/local/bin
目录:sudo mv composer.phar /usr/local/bin/composer
Composer入门
现在,在您的Ubuntu系统上已安装Composer,我们将向您展示如何在PHP项目中使用Composer。
第一步是创建一个目录,它将成为项目的根目录并保存 composer.json
文件。 该文件描述了您的PHP项目,包括PHP依赖关系和其他元数据。
创建项目目录并使用以下命令切换到该目录:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
下一步是初始化一个新的 composer.json
使用 composer require <package name>
命令并指定我们要下载的软件包。
在此示例中,我们将创建一个示例应用程序,该应用程序将使用名为carbon的包来打印当前时间。
运行以下命令以初始化新的 composer.json
并安装碳包装:
composer require nesbot/carbon
Using version ^1.33 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
- Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
- Installing symfony/translation (v4.1.4): Downloading (100%)
- Installing nesbot/carbon (1.33.0): Downloading (100%)
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
从上方的输出中可以看到,Composer将创建 composer.json
文件,它将下载并安装carbon及其所有依赖项。
如果列出项目的目录,您将看到它包含两个文件 composer.json
和 composer.lock
和 vendor
目录。
ls -l
-rw-r--r-- 1 linuxize users 60 Aug 29 00:50 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 vendor
- 的
vendor
directory是存储项目依赖项的目录。 - 的
composer.lock
包含所有已安装软件包的列表,包括软件包的版本。 - 的
composer.json
描述PHP项目和所有PHP依赖项。
您可以在Composer存储库Packagist中搜索PHP软件包。
Composer提供了自动加载功能,使我们可以使用PHP类而无需 require
要么 include
文件。
创建一个名为 testing.php
并添加以下代码:
<?php
require __DIR__ . '/vendor/autoload.php';
use CarbonCarbon;
printf("Now: %s", Carbon::now());
让我们逐行分析代码。
在打开php标签后的第一行中,我们将 vendor/autoload.php
由Composer自动生成的文件,它将自动加载所有库。
接下来,我们要进行混叠 CarbonCarbon
如 Carbon
在最后一行,我们使用Carbon打印当前时间 now
方法。
通过键入以下命令来运行脚本:
php testing.php
输出应如下所示:
Now: 2018-08-28 23:47:19
稍后,如果您想更新PHP软件包,则只需运行:
composer update
上面的命令将检查已安装软件包的较新版本,以及是否找到了较新版本,并且版本约束与 composer.json
,Composer将更新软件包。
结论#
您已经了解了如何在Ubuntu 18.04计算机上安装Composer。 我们还向您展示了如何使用Composer创建基本的PHP项目。
要查找有关Composer的更多信息,请访问Composer官方文档页面。
如有任何疑问,请在下面发表评论。
作曲家PHP Ubuntu的