Dieser Abschnitt leitet Sie durch die generelle Konfiguration und Installation von PHP auf Unix-Systemen. Bitte lesen Sie zuerst alle Abschnitte die speziell für Ihre Platform oder Webserver zugeschnitten sind, bevor Sie mit dem Installationsprozess beginnen.
Wie dieses Handbuch im Abschnitt Generelle Überlegungen darlegt, behandeln wir hauptsächlich die web-zentrierten Einrichtungen von PHP, obwohl wir die Installation von PHP für die Kommandozeilennutzung ebenso beschreiben.
Es gibt veschiedene Wege, PHP auf Unix-Platformen zu installieren: Entweder mit einem Kompilierungs- und Konfigurierungsprozess oder durch verschiedene Methoden von vorgefertigten Paketen. Diese Dokumentation richtet Ihr Augenmerk hauptsächlich auf den Prozess des selber Kompilierens und Konfigurierens. Viele unix-artige Systeme haben eine Art von Paketinstallationssystem, welches beim aufsetzen einer Standardkonfiguration helfen können, aber wenn man eine davon Abweichende Menge von features benötigt (etwa sichere Server oder andere Datenbanktreiber) könnten Sie PHP und/oder Ihren Webserver selbst bauen müssen. Falls Ihnen das Bauen und Kompilieren von Software nicht geläufig ist könnte es lohnenswert sein 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)
Ein ANSI-C-Kompiler
flex: Version 2.5.4
bison: Version 1.28 (bevorzugt), 1.35, or 1.75
Ein Webserver
Modulspezifische Komponenten (wie GD, PDF Bibliotheken usw.)
Der anfängliche PHP Setup- und Konfigurationsprozess wird durch die Verwendung von Kommandozeilenoptionenn 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. Dieses Handbuch dokumentiert die verschiedenen Optionen einzeln. Sie finden die grundlegenden Optionen im Anhang, während die verschiedenen extension-spezifischen 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.
Dieser Abschnitt beinhaltet Hinweise und Tipps die sich auf die Installation von PHP speziell für Apache auf Unix-Plattformen beziehen. Wir haben Anweisungen und Hinweise für Apache 2 auf einer eigenen Seite.
Sie können Anweisungen, die Sie zum unten in Zeile 10 abgebildeten configure Aufruf hinzufügen können, auswählen aus der Liste von grundlegenden Configure-Optionen und aus den für Erweiterungen spezifischen Optionen, die auf den jeweiligen Handbuchseiten beschrieben sind. Versionsnummern wurden hier ausgelassen, um sicherzustellen, dass die Anweisungen nicht inkorrekt sind. Sie müssen die Zeichenkette 'xxx' hier mit den zu Ihren Dateien passenden Werten ersetzen.
Alternativ, um PHP als statisches Objekt zu installieren:
Beispiel 4-2. Installationsanweisungen (Statische Modulinstallation für Apache) für PHP
|
Anmerkung: Ersetzen Sie php-5 durch php-4 und php5 durch php4 in PHP4.
Abhängig von Ihrer Apacheinstallation und Unixvariante könnte es viele verschiedene Methoden geben, um den Server anzuhalten und erneut zu starten. Unten sind einige typische Zeilen zum Neustart des Servers, für verschiedene Apache/Unix-Installationen. Sie sollten /path/to mit dem Pfad dieser Anwendungen auf Ihrem System ersetzen.
Beispiel 4-3. Beispielbefehle, um Apache neu zu starten
|
Die Orte der apachectl- und http(s)dctl-Binärdateien sind häufig verschieden. Wenn Ihr System einen locate, whereis oder which Befehl besitzt, können diese Ihnen beim Auffinden des Serverkontrollprogrammes helfen.
Verschiedene Beispiele zur Kompilierung von PHP für Apache wie folgt:
Dies wird eine Bibliothek libphp5.so (oder libphp4.so in PHP4) erzeugen, die mittels einer LoadModule-Zeile in der httpd.conf des Apache geladen wird. PostgreSQL-Unterstützung ist in diese Bibliothek eingebaut.
Dies wird eine Bibliothek libphp4.so für Apache erzeugen, aber ebenso eine pgsql.so, die von PHP mit der Extension-Direktive in der php.ini-Datei oder durch explizites Laden in einem Skript mittels der Funktion dl() geladen wird.
Dies wird eine Bibliothek libmodphp5.a, eine mod_php5.c und einige zugehörige Dateien erzeugen und diese in das Verzeichnis src/modules/php5 des Apache Quellcodes kopieren. Kompilieren Sie danach Apache mit --activate-module=src/modules/php5/libphp5.a und das Apache Build System wird eine libphp5.a erzeugen und statisch in die Binärdatei httpd einbinden (ersetzen Sie php5 durch php4 für PHP 4). Unterstützung für PostgreSQL wird in diese httpd Binärdatei mit eingebaut, weshalb das Endergebnis eine einzige Datei namens httpd ist, welche den gesamten Apache und PHP beinhaltet.
Genau wie oben, aber anstatt die Unterstützung für PostgreSQL direkt in httpd mit einzubinden wird eine gemeinsam verwendete Bibliothek namens pgsql.so erzeugt, die man mittels der php.ini Datei oder direkt über dl() in PHP einbinden kann.
Wenn Sie aus den verschiedenen Möglichkeiten auswählen, PHP zu kompilieren, sollten Sie die Vor- und Nachteile der jeweiligen Methoden bedenken. Das Erzeugen einer gemeinsam verwendeten Bibliothek resultiert darin, dass man Apache getrennt kompilieren kann und nicht alles erneut kompilieren muss, wenn man etwas zu PHP hinzufügt oder ändert. Das direkte einbauen in Apache (statisch) bedeutet, dass PHP schneller lädt und schneller läuft. Für weitere Informationen konsultieren Sie die Apache Webseite zu DSO Unterstützung.
Anmerkung: Apaches mitgelieferte httpd.conf enthält derzeit einen Abschnitt, der wie folgt aussieht:
Wenn man dies nicht auf "Group nogroup" oder etwas ähnliches ("Group daemon" ist auch üblich) ändert, wird PHP nicht imstande sein, Dateien zu öffnen.
Anmerkung: Stellen Sie sicher, dass Sie die installierte Version von apxs angeben, wenn Sie
--with-apxs=/path/to/apxs
verwenden. Sie dürfen NICHT die apxs-Version angeben, die dem Apache Quellcode beiliegt, sondern jene, die tatsächlich auf Ihrem System installiert ist.
Zurück | Zum Anfang | Weiter |
Generelle Überlegungen | Nach oben | Apache 2.0 auf Unix Systemen |