如何在 Debian 9 上安装和使用 PHP Composer

2023-10-18

Composer是 PHP 的依赖管理器(类似于Node.js 的 npm or Python 的点子)。 Composer 将提取您的项目所依赖的所有必需的 PHP 包并为您管理它们。

本教程提供了在 Debian 9 系统上安装 Composer 所需的步骤。我们还将介绍如何使用 Composer 创建和管理 PHP 项目。

先决条件#

在继续本教程之前,请确保您以以下身份登录具有 sudo 权限的用户你有PHP 安装在 Debian 9 上 system.

安装作曲家#

请按照以下步骤在 Debian 系统上安装 Composer:

  1. 首先更新软件包索引并使用以下命令安装必要的软件包:

    sudo apt updatesudo apt install php-cli php-zip wget unzip
  2. 安装依赖项后,使用 php cli toll 下载 Composer 安装脚本:

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

    上面的命令将下载composer-setup.php文件在当前工作目录 .

  3. 我们将通过比较脚本来验证脚本数据的完整性SHA-384哈希与在上找到的最新安装程序哈希作曲家公钥/签名 page.

    运行以下命令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变量与回显 $HASH。验证安装程序后,您可以继续下一步。

  4. 以下命令将在以下位置安装 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

    此时,您已经在 Debian 系统上安装了 Composer。它作为系统范围的命令安装,并且可供所有用户使用。

  5. 要验证安装,只需键入:

    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>.

开始使用 Composer#

现在您已经在 Debian 系统上安装了 Composer,我们将向您展示如何使用 Composer 创建 PHP 项目。

首先创建一个目录作为项目根目录并保存composer.json文件。该文件描述您的 PHP 项目,包括 PHP 依赖项和其他元数据。

创建项目目录并使用以下命令切换到该目录:

mkdir ~/my-first-composer-projectcd ~/my-first-composer-project

接下来,我们将初始化一个新的composer.json文件使用composer require <package name>命令并指定我们要下载的包。在此示例中,我们将创建一个示例应用程序,它将使用名为的包打印当前时间carbon .

运行以下命令来初始化一个新的composer.json文件并安装 Carbon 包:

composer require nesbot/carbon
Using version ^1.34 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)         
  - Installing symfony/translation (v3.4.17): Downloading (100%)         
  - Installing nesbot/carbon (1.34.0): 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

作曲家将创建一个composer.json文件并下载并安装 Carbon 及其所有依赖项。

如果您列出项目的目录ls 命令,你会看到它包含两个文件composer.json and composer.lock, and a vendor目录。

ls -l
-rw-r--r-- 1 linuxize users   60 Oct 16 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Oct 16 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Oct 16 21:02 vendor
  • vendor- 存储项目依赖项的目录。
  • composer.lock- 包含所有已安装软件包的列表(包括软件包版本)的文件。
  • composer.json- 描述 PHP 项目和所有 PHP 依赖项的文件。
您可以搜索 Composer 存储库包装学家对于 PHP 包。

Composer 提供了自动加载功能,允许我们使用 PHP 类而无需require or include文件。

创建一个名为testing.php并粘贴以下代码:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

我们来逐行分析一下代码。

在开始 php 标签之后的第一行中,我们包括vendor/autoload.phpComposer 自动生成的文件。该文件将自动加载所有必需的库。

接下来,我们使用别名Carbon\Carbon as Carbon在最后一行,我们使用 Carbon 打印当前时间now method.

通过键入以下内容运行脚本:

php testing.php

输出应如下所示:

Now: 2018-10-16 21:08:45

稍后,如果需要更新项目包,请输入:

composer update

上面的命令将检查已安装软件包的较新版本,如果找到较新版本并且版本约束与指定的匹配composer.json,Composer 会更新包。

结论#

您已经学习了如何在 Debian 9 计算机上安装 Composer。我们还向您展示了如何使用 Composer 创建基本的 PHP 项目。要了解有关 Composer 的更多信息,请访问官方作曲家文档 page.

如果您有任何疑问,请在下面留言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Debian 9 上安装和使用 PHP Composer 的相关文章

  • 如何解决“无法加载PEM客户端证书,OpenSSL错误:02001003:系统库:fopen:没有这样的进程”错误?

    如果这个问题很愚蠢 请原谅 但我是这个领域的新手 我需要通过 SSL 从 Drupal 7 站点连接到服务 我有一个扩展名为 p12 的文件及其密码 另外 我使用 PHP 7 1 1 和 Windows 7 64x 我使用以下命令将 p12
  • 从远程托管上的 PHP 获取 PHP 错误日志

    是否有 PHP 函数或其他方式以字符串形式获取 PHP 错误日志 我需要这个 因为我无法访问在其他人的服务器上运行的站点的错误日志 他提出通过电子邮件将错误日志发送给我 但这不太方便 有什么方法可以将错误日志输出到 PHP 页面吗 我意识到
  • PHP 启动:无法加载动态库 php5.4.3/ext/php_ffmpeg.dll 不是有效的 Win32 应用程序

    再会 我尝试在 Windows 7 计算机上安装 dll 文件 php ffmpeg 但不断收到此错误 29 Jan 2013 11 37 00 UTC PHP Warning PHP Startup Unable to load dyna
  • 在 PHP 中设置 HTTP 响应代码(在 Apache 下)

    给出以下两种在 PHP 中设置 HTTP 响应代码的方法 具体来说 在 Apache 下 方法一 http response code 404 方法二 header HTTP 1 0 404 Not Found 我的问题是 除了这个事实之外
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • 这是依赖注入吗?这是一种不好的做法吗?

    我有一个小框架 我是这样编码的 我不确定这是否称为依赖注入 我不知道它是否像设计模式 我也不知道并且想知道是否通过 this因为 param 是一种不好的做法 看看这个 不是一个有效的示例 只是将这些代码写入浏览器中以供解释 This is
  • php 检查文件是否存在于外部域中(从子域访问)

    我有一个网站http www reelfilmlocations co uk http www reelfilmlocations co uk 上述网站有一个管理区域 其中上传图像并在 uploads images 目录的子文件夹中创建不同
  • 动态创建和下载Doc文件

    因此 我尝试动态创建 doc 文件并让用户在单击按钮时下载该文件 这些是我找到的用于下载文件的标头 header Content Description File Transfer header Content Type applicati
  • laravel 5.3 新的 Auth::routes()

    最近开始使用laravel 5 3写博客 但是运行后出现一个问题php artisan make auth 当我运行这个时 它会在我的web php 这是其中的代码 Auth routes Route get home HomeContro
  • AFNetworking 上传图片

    我看过一些例子 但我认为我的问题可能出在 PHP 中 我正在尝试使用 AFNetworking 将图像从 iPhone 上传到服务器 这是我的 obj c 代码 IBAction uploadButtonClicked id sender
  • 如何在php中根据url从mysql获取数据?

    我在 mysql 数据库中有一个页表 其中包含 page name title content author 字段 我想用 php 来获取它http www domain com index php page page name http
  • 为什么 PHPUnit 将一些右大括号显示为未被覆盖?

    我正在使用 PHPUnit 3 6 7 PHP CodeCoverage 1 1 1 和 Xdebug 2 1 2 当我让 PHPUnit 将代码覆盖率统计信息写入 clover 样式的 XML 文件时 它偶尔会显示一个右花括号 表示测试未
  • Laravel 意外错误“类用户包含 3 个抽象方法...”

    在 Laravel 上编写我的身份验证应用程序时 我遇到了一个以前从未见过的错误 我已经集思广益了近一个小时来解决这个问题的原因 但仍然找不到解决方案 Error User 类包含 3 个抽象方法 因此必须声明为抽象方法或实现其余方法 Il
  • 为什么 LinkedIn v2 Share API 在任何 v2/shares 端点上给出权限不足的错误?

    当我调用任何 v2 LinkedIn 共享 API 端点时 例如https api linkedin com v2 socialActions https api linkedin com v2 socialActions share UR
  • Monolog,如何将 PHP 数组记录到控制台?

    我正在使用浏览器处理程序将消息记录到 JS 控制台 require once vendor autoload php use Monolog Logger use Monolog Handler BrowserConsoleHandler
  • 通过php将mp3转换为ogg

    我有一个网站 用户可以上传音乐并将其转换为 mp3 但我需要 mp3 和 ogg 文件支持才能以 html5 播放音乐 那么 有没有可以将mp3转换为ogg的php脚本呢 使用 ffmpeg 您可以直接从 php 脚本执行命令
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • PHP:是否可以从文件内容(字符串)创建 SplFileObject 对象?

    例如 contents file get contents image png 是否可以从 contents 创建 SplFileObject 对象 Thanks php 有一些特殊的流包装器 http www php net manual
  • 一些基本的 PHP 问题 [已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我只是有一些基本的 php 问题来加深我对学习的理解 但我找不到简单的答案 我有一个 php ajax 应用程序 它生成 mysql

随机推荐

  • 如何在 MongoDB 中创建管理员用户

    在大规模的软件工程中 我们在每一步的实现中都会遇到问题 然而 最大的挑战仍然是找出问题的根本原因并解决它们 在本文中 我们将学习如何使用 MongoDB 实现用户身份验证 并在用户不再是组织的员工时删除 MongoDB 中的用户 Mongo
  • 测试主机标头注入漏洞

    在不断发展的 Web 安全领域 主机标头注入是可能困扰 Web 应用程序的漏洞之一 当 Web 应用程序或服务器未正确验证或限制传入 HTTP 请求中的主机标头时 就会出现此缺陷 从而使其遭受恶意利用 无论您是开发人员 安全专业人士还是好奇
  • 理解 Python 的下划线 (_):综合指南

    Python 作为一种灵活且直观的语言 引入了许多可以简化编码的结构 下划线就是这样的一种结构 一个具有多种用途的特殊字符 范围从变量命名到解释器目的等等 对于新手程序员来说 下划线可能会让人感到困惑 但理解它们的用途可以显着提高你的 Py
  • Python – 如何创建嵌套目录结构

    The pathlib模块提供了表示文件系统路径的类 其语义适用于不同的操作系统 我们可以创建嵌套目录结构路径库 Path mkdirPython 中的函数 On Linux from pathlib import Path Path di
  • 如何在 Debian 11/10 上安装 Apache Solr 9.0

    阿帕奇 索尔是一个用Java编写的开源搜索平台 Solr 提供全文搜索 拼写建议 自定义文档排序和排名 片段生成和突出显示 本教程将帮助您在 Debian 11 Debian 10 Buster Debian 9 Stretch 和 Deb
  • Linux 中的 Wget 命令及示例(下载文件)

    The wgetLinux 中的命令是从互联网下载文件的强大工具 它允许您从 URL 下载文件并将其保存到本地文件系统 该命令行实用程序可用于下载单个文件 整个目录甚至整个网站 无论您需要下载文件进行备份 还是在系统之间传输大文件 wget
  • 如何从 Ubuntu Linux 中删除(删除)PPA

    如果您已经使用 Ubuntu 一段时间 您可能熟悉术语 PPA 它代表个人软件包存档 PPA 是安装和更新官方 Ubuntu 存储库中未提供的软件的好方法 但是 有时您可能想要删除 PPA 因为不再需要它或因为它导致问题 在本文中 我们将完
  • 20 个常见的 JavaScript 面试问题和答案

    JavaScript 是世界上最流行的编程语言之一 因此 这也是技术面试中最常被问到的话题之一 无论您是初学者还是经验丰富的开发人员 为 JavaScript 面试问题做好充分准备都很重要 在本文中 我们将讨论 20 个常见的 JavaSc
  • 如何在 Ubuntu 15.10、14.04 和 12.04 上安装 RabbitVCS

    兔子VCS是版本管理系统 SVN 和 Git 的图形客户端 它提供了一个简单且易于使用的图形用户界面 可以说 RabbitVCS 是 TortoiseSVN 的最佳 Linux 替代品 本教程将帮助您在 Ubuntu 15 10 14 04
  • 如何更改 Linux 内核中的 Swappiness 值

    Swappiness 是一个 Linux 内核参数 用于控制交换空闲进程和使用可用 RAM 内存之间的平衡 大多数Linux发行版中的默认交换值是60 这意味着当可用内存低于40 时系统开始交换进程 但是 此默认值可能并不适合所有情况 更改
  • Linux 中的 du 命令及有用示例

    du 是缺少磁盘使用 这意味着 du 命令计算文件在磁盘上使用的大小 它是Linux系统用户经常使用的基本Linux命令 Syntax du OPTION FILE 在本教程中 您将通过有用的示例了解 du 命令在 Linux 中的用法 d
  • 如何在 PHP 中向数组追加项目

    问题 如何在 PHP 中向数组追加项目 如何在 PHP 中将任何元素追加到现有数组的末尾 如何在 PHP 中将元素推送到数组 本教程使用数组推 函数将新元素插入或追加到数组末尾 PHP 将元素追加到数组 以下示例创建一个包含两个元素 如 b
  • 如何在 Ubuntu 18.04 上安装 Yarn

    Yarn 是一个与 npm 兼容的 JavaScript 包管理器 可帮助您自动执行安装 更新 配置和删除 npm 包的过程 它的创建是为了解决 npm 的一系列问题 例如通过并行操作加快软件包安装过程并减少与网络连接相关的错误 在本教程中
  • 如何在 CentOS 7 上安装 Python 3

    本教程将指导您使用 Software Collections SCL 以及发行版默认 Python 版本 2 7 在 CentOS 7 系统上安装 Python 3 我们还将向您展示如何创建 Python 虚拟环境 Python 是世界上最
  • 如何在 Debian 10 Linux 上安装 Vagrant

    Vagrant是一个用于构建和管理虚拟机环境的开源命令行工具 默认情况下 Vagrant 可以在 VirtualBox Hyper V 之上配置计算机 和码头工人 其他提供商如 Libvirt KVM VMware 和 AWS 可以通过 V
  • Linux 中的 Wget 命令及示例

    GNU Wget 是一个用于从网络下载文件的命令行实用程序 使用 Wget 您可以使用 HTTP HTTPS 和 FTP 协议下载文件 Wget 提供了许多选项 允许您下载多个文件 恢复下载 限制带宽 递归下载 后台下载 镜像网站等等 本文
  • 如何在 Ubuntu 20.04 上安装 Odoo 15

    Odoo 是一款流行的开源商业应用程序套件 可帮助公司管理和运营其业务 它包括广泛的应用程序 例如 CRM 电子商务 网站构建器 计费 会计 制造 仓库 项目管理 库存等等 所有这些都无缝集成 Odoo根据使用案例和可用技术 可以以不同的方
  • 如何在 Debian 10 Linux 上安装 Node.js 和 npm

    Node js 是一个基于 Chrome JavaScript 构建的跨平台 JavaScript 运行时环境 旨在在服务器端执行 JavaScript 代码 使用 Node js 您可以构建可扩展的网络应用程序 npm 是 Node js
  • 如何在 Debian 9 上安装 Java

    在本教程中 我们将逐步介绍在 Debian 9 上安装 Java Java 是用于构建不同类型的应用程序和系统的最流行的编程语言之一 用 Java 开发的应用程序具有可扩展性 灵活性和可维护性 有两种不同的 Java 包 Java 运行时环
  • 如何在 Debian 9 上安装和使用 PHP Composer

    Composer是 PHP 的依赖管理器 类似于Node js 的 npm or Python 的点子 Composer 将提取您的项目所依赖的所有必需的 PHP 包并为您管理它们 本教程提供了在 Debian 9 系统上安装 Compos