Composeist ein Abhängigkeitsmanager für PHP (wie npm für Node.js oder pipis für Python).
Composer zieht alle erforderlichen PHP-Pakete ein, von denen Ihr Projekt abhängt, und verwaltet sie für Sie. Es wird in allen modernen PHP-Frameworks und -Plattformen wie Laravel, Symfony, Drupal und Magento 2 verwendet.
Dieses Tutorial führt Sie durch die Schritte zur Installation von Composer unter CentOS 8. Wenn Sie es eilig haben und die Dateiintegrität nicht überprüfen möchten, scrollen Sie nach unten zum Abschnitt Installing Composer – Quick Way.
Voraussetzungen #
Stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllt haben, bevor Sie fortfahren:
- Als Benutzer mit sudo-Berechtigungen angemeldet
- Haben Sie PHP auf Ihrem CentOS 8-System installiert.
Installieren von Composer unter CentOS #
Führen Sie die folgenden Schritte aus, um Composer unter CentOS 8 zu installieren.
-
Installieren Sie das PHP-CLI-Paket (Befehlszeilenschnittstelle) und alle anderen Abhängigkeiten mit:
sudo dnf install php-cli php-json php-zip wget unzip
-
Laden Sie nach der Installation von PHP CLI das Composer-Installationsskript herunter:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Der obige Befehl lädt eine Datei namens
composer-setup.php
herunter im aktuellen Arbeitsverzeichnis. -
Überprüfen Sie die Datenintegrität, indem Sie den
SHA-384
der Datei vergleichen Hash mit dem auf der Seite Composer Public Keys / Signatures gefundenen Hash.Das folgende
wget
Der Befehl lädt die Signatur des neuesten Composer-Installationsprogramms von der Github-Seite des Composers herunter und speichert sie in einer Variablen namensHASH
:HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Um sicherzustellen, dass das Installationsskript nicht beschädigt ist, führen Sie den folgenden Befehl aus:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Wenn die Hashes übereinstimmen, wird die folgende Meldung angezeigt:
Installer verified
Andernfalls, wenn die Hashes nicht übereinstimmen, sehen Sie
Installer corrupt
. Sobald die Integrität verifiziert ist, fahren Sie mit dem nächsten Schritt fort. -
Führen Sie den folgenden Befehl aus, um Composer im Verzeichnis
/usr/local/bin
zu installieren Verzeichnis:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Der obige Befehl installiert
composer
als systemweiter Befehl und für alle Benutzer verfügbar. Die Ausgabe sieht in etwa so ausAll 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
Der obige Befehl installiert
composer
als systemweiter Befehl und für alle Benutzer verfügbar. -
Überprüfen Sie die Installation, indem Sie die Composer-Version ausdrucken:
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
An diesem Punkt haben Sie Composer erfolgreich auf Ihrem CentOS-System installiert und können es verwenden.
Installieren von Composer [Quick Way] #
Führen Sie die folgenden Schritte aus, um Composer schnell auf Ihrem CentOS 8-System zu installieren:
-
Installieren Sie PHP CLI und Zip:
sudo dnf install php-cli php-json php-zip curl unzip
-
Composer mit curl herunterladen:
curl -sS https://getcomposer.org/installer |php
-
Verschieben Sie die Composer-Datei nach
/usr/local/bin
Verzeichnis:sudo mv composer.phar /usr/local/bin/composer
Erste Schritte mit Composer #
Nachdem Composer nun auf Ihrem CentOS-System installiert ist, zeigen wir Ihnen, wie Sie Composer in einem PHP-Projekt verwenden.
Erstellen Sie zunächst das Stammverzeichnis des Projekts und navigieren Sie dorthin:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
In diesem Beispiel verwenden wir ein PHP-Paket namens carbon, um eine Beispielanwendung zu erstellen, die die aktuelle Uhrzeit ausgibt.
Führen Sie den folgenden Befehl aus, um ein neues Composer-Projekt zu initialisieren und das Carbon-Paket zu installieren:
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!
Wie Sie der obigen Ausgabe entnehmen können, erstellt Composer eine Datei mit dem Namen composer.json
und lädt Kohlenstoff und alle seine Abhängigkeiten herunter.
Wenn Sie das Verzeichnis Ihres Projekts auflisten, werden Sie sehen, dass es zwei Dateien composer.json
enthält und composer.lock
, und ein vendor
Verzeichnis.
ls -l
-rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor
vendor
ist das Verzeichnis, in dem die Projektabhängigkeiten gespeichert werden.- Das
composer.lock
Datei enthält eine Liste aller installierten Pakete, einschließlich ihrer Versionen. composer.json
ist eine Datei, die Ihr PHP-Projekt beschreibt, einschließlich der PHP-Abhängigkeiten und anderer Metadaten.
Composer verfügt über Autoload-Funktionen, mit denen Sie PHP-Klassen verwenden können, ohne dass require
erforderlich ist oder include
Aussagen.
Erstellen Sie eine Datei namens testing.php
und fügen Sie den folgenden Code hinzu:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Lassen Sie uns den Code Zeile für Zeile analysieren.
In der ersten Zeile nach dem öffnenden PHP-Tag binden wir die vendor/autoload.php
ein Datei, die alle Bibliotheken automatisch lädt.
Als nächstes aliasieren wir Carbon\Carbon
als Carbon
. Die letzte Zeile gibt die aktuelle Zeit mit dem Carbon now
aus Methode.
Führen Sie das Skript aus, indem Sie Folgendes eingeben:
php testing.php
Die Ausgabe sollte in etwa so aussehen:
Now: 2020-03-27 22:12:26
Wenn Sie später Ihre PHP-Pakete aktualisieren möchten, können Sie einfach Folgendes ausführen:
composer update
Der obige Befehl sucht nach neueren Versionen der installierten Pakete und ob eine neuere Version gefunden wird und die Versionseinschränkung mit der in composer.json
angegebenen übereinstimmt , Composer aktualisiert das Paket.