Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:composer

Skript & Tricks » PHP » Composer

PHP: Composer

Der Composer ist ein Dependency-Manager für PHP-Projekte, der Installation, Updates und Entfernen von bestimmten Software-Bibliotheken mitsamt abhängig benötigter Bestandteile organisiert und durchführt. Die Funktionsweise ähnelt den Repository-Managern, die man aus Linux-Distributionen kennt.

Composer ist keine Versionsverwaltung.

Composer auf dem Server

Der Composer kann aus der Datei composer.phar direkt gestartet werden (PHP-Paket php5-phar oder php7-phar wird zwingend benötigt!) oder als global erreichbares Programm auf dem Server installiert werden.

Dazu ist es notwendig als Administrator folgende Zeile auf der Konsole ausgeführt werden:

mv composer.phar /usr/local/bin/composer

Danach ist der composer wie jedes andere Konsolenprogramm überall ausführbar, ohne die Datei composer.phar physisch im Projektverzeichnis zu haben (Empfehlung).

Dennoch sollten alle Operationen im Root-Verzeichnis des zu bearbeitenden Projektes stattfinden, dann kann weniger schiefgehen.

Grundsätzlich könnten alle Arbeiten mit Composer auch auf dem lokalen Rechner durchgeführt werden.

Der Composer funktioniert zwar prinzipiell auch mit Proxy-Servern, aber kann mit einigen Proxies leider nicht umgehen. Sollte es zu Verbindungsfehlern kommen, bitte Proxies abschalten!

Bedienung

Eine komplette Dokumentation der Kommandozeilen-Optionen ist auf der Website des Composer-Projektes nachzulesen:
https://getcomposer.org/doc/0-cli.md

Composer installieren

Da der Composer internetgestüzt funktioniert, ist es eine gute Methode ihn auch direkt von dort zu laden. Klappt die Ausführung des folgenen Skriptes auf der Kommandozeile (im Root-Verzeichnis des zukünftigen Projektes), funktionieren auch alle anderen Befehle einwandfrei.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Bitte unbedingt den Code von der Projektwebsite kopieren: https://getcomposer.org/download/ ! Der Code in der Box soll nur hilfreich bei der Suche nach dem richtigen Code-Segment sein und benötigt immer den aktuellen Hash-Wert der Projektwebsite!

Composer-Update

Vor größeren Operationen mit dem Composer sollte man immer den Composer selbst zuerst prüfen lassen, ob es für ihn ein Update gibt und dieses installieren.

aitne:~# composer self-update

Da der Composer auf dem Server als ausführbares Programm installiert ist, benötigt man für diesen Befehl Administratorrechte!

Projekt installieren

Ein komplettes, neues, leeres ZendFramework3-Projekt lässt sich z.B. mit folgendem Konsolenbefehl realisieren:

composer create-project zendframework/skeleton-application /srv/www/htdocs/mein_Verzeichnis

Composer installiert alle benötigten und optional im Installations-Dialog ausgewählten Komponenten im Ordner /srv/www/htdocs/mein_verzeichnis und übergibt das Projekt im Development-Mode.

Zusätzliche Software installieren

Mit dem folgenden Befehl wird zusätzliche Software installiert und die Abhängigkeit in die bei der Installation u.a. entstandene Datei composer.json eingetragen, welche die benötigten Software-Quellen für das Projekt enthält. sollte wieder erwarten keine composer.json existieren, wird eine entsprechende Datei geschrieben.

composer require zendframework/zend-db

Den Namen des Software-Paketes entnimmt man der entsprechenden Projektseite, bei Packagist.org oder man bearbeitet die composer.json im ZendStudio, welches iene komfortable Möglichkeit anbietet um Pakete hinzuzufügen.

Composer nutzt für diese Funktion die composer.json des Verzeichnisses in dem man sich aktuell befindet. Der Befehl muss also im Projektverzeichnis ausgeführt werden!

Anschließend ist der Befehl zum installieren im Projektverzeichnis auszuführen:

composer install
Software-Updates

Analog zum vorherigen Befehl führt man folgendes Kommando im Projektverzeichnis aus:

composer update

Soll dieser Befehl nicht alle Pakete betreffen, gibt man die Namen der zu updatenden Pakete einfach nacheinander an.

Composer im Internet

php/composer.txt · Zuletzt geändert: 2017/03/08 21:35 von thefan1968