GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und verwenden Sie PHP Composer unter Debian 11 Bullseye

Composer ist ein Paketmanager auf Anwendungsebene für die Programmiersprache PHP, ähnlich wie NPM für Node.Js oder PIP für Python. Composer bietet ein Standardformat zum Verwalten aller Abhängigkeiten von PHP-Software und den erforderlichen Bibliotheken, indem alle erforderlichen PHP-Pakete Ihres Projekts heruntergeladen und für Sie verwaltet werden. Es wird von den meisten modernen PHP-Frameworks wie Laravel, Drupal, Magento und Symfony verwendet.

Im folgenden Tutorial erfahren Sie, wie Sie Composer herunterladen und installieren, zusammen mit einigen grundlegenden Informationen zur Arbeit mit Composer unter Debian 11 Bullseye.

Voraussetzungen

  • Empfohlenes Betriebssystem: Debian 11 Bullseye
  • Benutzerkonto: Ein Benutzerkonto mit sudo-Privilegien oder Root-Zugriff (su-Befehl) .
  • Erforderliche Pakete: wget, PHP 5.3 oder höher

Betriebssystem aktualisieren

Aktualisieren Sie Ihr Debian 11 Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:

sudo apt update && sudo apt upgrade

Root- oder Sudo-Zugriff

Wenn Sie Ihr Konto beim Start mit Debian im Vergleich zu anderen Distributionen erstellen, erhält es standardmäßig nicht automatisch den Sudoers-Status. Sie müssen entweder Zugriff auf das Root-Passwort haben um den su-Befehl zu verwenden oder besuchen Sie unser Tutorial zum Hinzufügen eines Benutzers zu Sudoern unter Debian.

Abhängigkeiten installieren

Die folgenden Pakete sind zum Herunterladen von Composer und für die zukünftige Verwendung erforderlich. Beachten Sie, dass Sie bei Verwendung einer bestimmten PHP-Version die folgenden PHP-Pakete an die Version anpassen müssen. Wenn Sie beispielsweise PHP 8.0 installieren, lautet dies php8.0-mbstring.

sudo apt install curl wget php-common php-cli php-gd php-mysql php-curl php-intl php-mbstring php-bcmath php-imap php-xml php-zip git unzip

Installieren Sie PHP Composer

Das Composer-Team hat ein offizielles PHP-Skript erstellt, um PHP Composer auf Ihrem System zu installieren und zu konfigurieren. Sie können dies herunterladen, indem Sie die Download-Seite besuchen oder Ihr Debian-Terminal öffnen und Folgendes ausführen.

PHP-Methode:

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

WGET-Methode:

wget -O composer-setup.php https://getcomposer.org/installer

Jetzt, da die setup.php heruntergeladen ist, ist es an der Zeit, Composer zu installieren. Dies kann auf zwei verschiedene Arten geschehen, eine, bei der Sie Composer global installieren können, oder die zweite Alternative, bei der die Installation pro PHP-Anwendungsbasis erfolgt.

Um global zu installieren:

php composer-setup.php --install-dir=/usr/local/bin --filename=composer
chmod +x /usr/local/bin/composer

Zur Installation pro Anwendung:

cd /example-project/php-application && mkdir -p bin 
php composer-setup.php --install-dir=bin --filename=composer
chmod +x bin/composer

Wie oben beschrieben, müssen Sie zum PHP-Projektverzeichnis navigieren und ein bin-Verzeichnis für den zu installierenden PHP-Composer erstellen.

Bestätigen Sie anschließend, dass Composer installiert ist und um welchen Build und welche Version es sich handelt.

composer --version
Composer version 2.1.8 2021-09-15 13:55:14

Testen Sie nun Ihre Composer-Installation mit dem folgenden Befehl:

composer

Beispielausgabe:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.1.8 2021-09-15 13:55:14

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about                Shows a short information about Composer.
  archive              Creates an archive of this composer package.
  browse               Opens the package's repository URL or homepage in your browser.
  cc                   Clears composer's internal package cache.
  check-platform-reqs  Check that platform requirements are satisfied.
  clear-cache          Clears composer's internal package cache.
  clearcache           Clears composer's internal package cache.
  config               Sets config options.
  create-project       Creates new project from a package into given directory.
  depends              Shows which packages cause the given package to be installed.
  diagnose             Diagnoses the system to identify common errors.
  dump-autoload        Dumps the autoloader.
  dumpautoload         Dumps the autoloader.
  exec                 Executes a vendored binary/script.
  fund                 Discover how to help fund the maintenance of your dependencies.
  global               Allows running commands in the global composer dir ($COMPOSER_HOME).
  help                 Displays help for a command
  home                 Opens the package's repository URL or homepage in your browser.
  i                    Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  info                 Shows information about packages.
  init                 Creates a basic composer.json file in current directory.
  install              Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses             Shows information about licenses of dependencies.
  list                 Lists commands
  outdated             Shows a list of installed packages that have updates available, including their latest version.
  prohibits            Shows which packages prevent the given package from being installed.
  reinstall            Uninstalls and reinstalls the given package names
  remove               Removes a package from the require or require-dev.
  require              Adds required packages to your composer.json and installs them.
  run                  Runs the scripts defined in composer.json.
  run-script           Runs the scripts defined in composer.json.
  search               Searches for packages.
  self-update          Updates composer.phar to the latest version.
  selfupdate           Updates composer.phar to the latest version.
  show                 Shows information about packages.
  status               Shows a list of locally modified packages.
  suggests             Shows package suggestions.
  u                    Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  update               Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  upgrade              Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate             Validates a composer.json and composer.lock.
  why                  Shows which packages cause the given package to be installed.
  why-not              Shows which packages prevent the given package from being installed.

Wie man mit PHP Composer arbeitet

Das Tutorial zeigt Ihnen einige wesentliche Funktionen, wenn der PHP Composer installiert ist, um seine Funktionsweise zu testen.

Erstellen Sie zuerst Ihr Projektverzeichnis:

mkdir ~/composer-test
cd ~/composer-test

Suchen Sie als Nächstes ein Paket von Packagist oder verwenden Sie alternativ das Beispiel des Tutorials und führen Sie den folgenden Befehl aus, um eine neue composer.json-Datei zu initialisieren und das Carbon-Paket zu installieren:

composer require psr/log

Beispielausgabe:

Using version ^1.1 for psr/log
./composer.json has been created
Running composer update psr/log
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
  - Locking psr/log (1.1.4)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Downloading psr/log (1.1.4)
  - Installing psr/log (1.1.4): Extracting archive
Generating autoload files

Wie oben, erstellt und aktualisiert der Composer automatisch die Datei composer.json zusammen mit den erforderlichen Abhängigkeiten. Alternativ können Sie vorhandene Pakete auf eine bestimmte Versionsnummer installieren und/oder herunterstufen.

Beispiel:

composer require psr/log=1.0

Im Projektverzeichnis können Sie die darin enthaltenen Dateien und Verzeichnisse mit dem ls-Befehl auflisten :

ls -l

Beispielausgabe:

./composer.json has been updated
Running composer update psr/log
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
  - Downgrading psr/log (1.1.4 => 1.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Downloading psr/log (1.0.0)
  - Downgrading psr/log (1.1.4 => 1.0.0): Extracting archive
Generating autoload files

Eine Aufschlüsselung der Begriffe und der aufgelisteten Dateien.

  • composer.json – Datei erstellt für Projekt und alle PHP-Abhängigkeiten.
  • composer.lock – Datei mit Liste aller Pakete und Versionen.
  • Anbieter – Verzeichnis, in das die Abhängigkeiten heruntergeladen und installiert werden.

Bei Ihrem Projekt möchten oder müssen Sie möglicherweise die Abhängigkeiten aktualisieren, und dies kann mit dem folgenden Befehl erfolgen:

composer update

Beispielausgabe:

Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files

Wie Sie oben sehen können, müssen keine Abhängigkeiten aktualisiert werden. Wenn ja, würde der Prozess beginnen.

Wenn Sie das Modul nicht mehr benötigen, können Sie es mit dem Composer-Remove-Befehl entfernen:

composer remove psr/log

Beispielausgabe:

./composer.json has been updated
Running composer update psr/log
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 0 updates, 1 removal
  - Removing psr/log (1.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 0 updates, 1 removal
  - Removing psr/log (1.0.0)
Generating autoload files

Beim Entfernen von Paketen wird wie beim Installieren durch das Entfernen automatisch die Datei composer.json aktualisiert. Sie können dies mit dem cat-Befehl überprüfen .

cat composer.json

Beispiel vor dem Entfernen des psr/log-Pakets:

{
    "require": {
        "psr/log": "1.0"
    }
}

Beispiel nach dem Entfernen des psr/log-Pakets:

{
}

So aktualisieren Sie PHP Composer

Ein praktisches Feature von PHP Composer ist, dass es sich selbst auf die neueste verfügbare stabile Version aktualisieren kann. Führen Sie zum Upgrade den folgenden Befehl aus.

composer self-update

Beispielausgabe:

You are already using the latest available Composer version 2.1.8 (stable channel).

Wie oben erwähnt, ist der PHP-Composer bereits auf dem neusten Stand. Wenn jedoch ein Upgrade verfügbar ist, werden Sie zum Upgrade aufgefordert.


Debian
  1. So installieren Sie PHP 8.0 unter Debian 11

  2. So installieren Sie PHP 8.0 unter Debian 10 / Debian 9

  3. So installieren Sie PHP Composer unter Debian 8

  4. So installieren Sie PHP 8 auf Debian 10

  5. So installieren Sie PHP unter Debian 11

So installieren und verwenden Sie PHP Composer unter Debian 11

So installieren Sie PHP 8 auf Debian 11 Bullseye

So installieren Sie PHP 7.4 auf Debian 11 Bullseye

So installieren Sie osTicket unter Debian 11 Bullseye

So installieren Sie PHP Composer unter Debian 11

So installieren und verwenden Sie PHP Composer unter Debian 11 Linux