Installation auf Unix-Systemen
Inhaltsverzeichnis
Dieser Abschnitt leitet Sie durch die generelle Konfiguration und
Installation von PHP auf Unix-Systemen. Bitte lesen Sie zuerst alle
Abschnitte, die speziell auf Ihre Plattform oder Ihren Webserver
zugeschnitten sind, bevor Sie mit dem Installationsprozess beginnen.
Wie dieses Handbuch im Abschnitt
Generelle Installationsüberlegungen
darlegt, behandeln wir in diesem Abschnitt hauptsächlich die
Web-zentrierte Einrichtung von PHP, obwohl wir die Installation von PHP
für die Kommandozeilen-Nutzung ebenso beschreiben.
Es gibt veschiedene Wege, PHP auf Unix-Plattformen zu installieren:
Entweder mit einem Kompilierungs- und Konfigurationsprozess oder durch
verschiedene Methoden mit vorgefertigten Paketen. Diese Dokumentation
richtet ihr Augenmerk hauptsächlich auf den Prozess des Kompilierens und
Konfigurierens von PHP. Viele Unix-artige Systeme haben irgendeine Art von
Paket-Installationssystem. Dies kann beim Aufsetzen einer
Standardkonfiguration helfen, aber wenn Sie davon abweichende Features
benötigen (etwa einen sicheren Server oder andere Datenbanktreiber),
könnte es sein, dass Sie PHP und/oder Ihren Webserver selbst bauen müssen.
Falls Ihnen das Bauen und Kompilieren von Software nicht geläufig ist, ist
es lohnenswert zu prüfen, ob bereits jemand ein PHP-Paket mit den von
Ihnen benötigten Features gebaut hat.
Folgende Fähigkeiten und Software benötigen Sie für die Kompilierung:
-
Grundlegende Unix-Fertigkeiten (die Fähigkeit, "make" und einen
C-Kompiler zu bedienen)
-
Einen ANSI-C-Compiler
-
Einen Webserver
-
Modulspezifische Komponenten (wie GD,
PDF-Bibliotheken usw.)
Wenn direkt von den Git-Quellen kompiliert wird oder eigene Änderungen
vorgenommen wurden, könnten folgende Komponenten benötigt werden:
-
autoconf: 2.59+ (für PHP >= 7.0.0), 2.64+ (für PHP >= 7.2.0)
-
automake: 1.4+
-
libtool: 1.4.x+ (ausgenommen 1.4.2)
-
re2c: 0.13.4+
-
bison:
-
PHP 7.0 - 7.3: 2.4 oder höher (einschließlich Bison 3.x)
-
PHP 7.4: > 3.0
Der anfängliche PHP Setup- und Konfigurationsprozess wird durch die
Verwendung von Kommandozeilen-Optionen des
configure-Skriptes gesteuert. Sie sollten eine Liste
von allen verfügbaren Optionen zusammen mit einer kurzen Erläuterung durch
den Aufruf von ./configure --help erhalten. Unser
Handbuch dokumentiert die verschiedenen Optionen einzeln. Sie finden die
grundlegenden Optionen im Anhang,
während die verschiedenen erweiterungsspezifischen Optionen auf den
Referenzseiten der Erweiterungen beschrieben sind.
Sobald PHP konfiguriert ist, sind Sie bereit, die Module und/oder die
ausführbaren Dateien zu bauen. Der Befehl make sollte
sich darum kümmern. Falls dies fehlschlägt und Sie nicht herausfinden
können wieso, werfen Sie einen Blick in den Abschnitt
Probleme.
Hinweis:
Einige Unix-Systeme (wie etwa OpenBSD und SELinux) verbieten
möglicherweise aus Sicherheitsgründen das Zuordnen von Speicherseiten,
die sowohl schreibbar als auch ausführbar sind, was als PaX MPROTECT oder
W^X violation protection bezeichnet wird. Diese Art der Speicherzuordnung
ist allerdings für die JIT-Unterstützung von PCRE erforderlich, sodass
PHP dann entweder
ohne PCRE-JIT-Unterstützung
kompiliert werden muss, oder die ausführbare PHP-Datei auf irgendeine
vom System bereitgestellte Weise freigegeben (whitelisted) werden muss.
Hinweis:
Die Cross-Kompilierung für ARM mit der Android-Toolchain wird zurzeit
nicht unterstützt.