|
|
 |
|
|
 |
 |
 |
 |
 |
Hits gesamt: 5077018 Hits Heute: 685 max. Hits (10.07.07): 6964 User Online: 34 Scripts: 2828 |
|
|
 |
 |
 |
 |
 |
 |
|
 |
|
|
 |
|
|
 |
|
|
 |
|
|
 |
|
 |
 |
 |
 |
 |
Manuals > PHP >
Server - Apache |
Server - Apache
Dieser Abschnitt enthält Anmerkungen und Tipps zur Installation von Apache
mit PHP, sowohl für die Unix
als auch für die Windows
Version. Es gibt auch eine eigene Seite mit instructions and notes for Apache 2.
Details der Installation von PHP mit Apache auf Unix
Aus der Kompletten Liste der
Konfigurationsoptionen können Sie die weitere Argumente für
configure in Zeile 10 wählen. Um sicherzustellen,
dass die folgenden Instruktionen nicht inkorrekt sind, wurden die
Versionsnummern hier weggelassen. Ersetzen Sie bitte die hier
angeführten 'xxx' mit den korrekten Werten Ihrer Dateien.
Beispiel 3-4.
Installationsanweisungen (Apache Modulversion) für PHP 4
| 1. gunzip apache_xxx.tar.gz
2. tar -xvf apache_xxx.tar
3. gunzip php-xxx.tar.gz
4. tar -xvf php-xxx.tar
5. cd apache_xxx
6. ./configure --prefix=/www --enable-module=so
7. make
8. make install
9. cd ../php-xxx
10. ./configure --with-mysql --with-apxs=/www/bin/apxs
11. make
12. make install
Wenn Sie Ihre Konfigurationsoptionen nach der Installation ändern
möchten, müssen Sie nur die letzten 3 Schritte wiederholen. Sie
müssen Apache nur neu starten, um das neue Modul einzubinden.
Apache neu zu kompilieren ist nicht notwendig.
13. cp php.ini-dist /usr/local/lib/php.ini
Sie können Ihre .ini Datei editieren, um PHP Optionen zu setzen. Wenn
Sie diese Datei an einer anderen Stelle haben möchten, verwenden Sie
--with-config-file-path=/path in Schritt 10.
14. Editieren Sie die httpd.conf oder srm.conf Datei und stellen Sie
sicher, dass folgende Zeilen vorhanden und nicht auskommentiert sind:
AddType application/x-httpd-php .php
LoadModule php4_module libexec/libphp4.so
Hier können Sie jede gewünschte Erweiterung auswählen. .php wird
vorgeschlagen. Sie können auch .html, und .php3 zwecks
Rückwärtskompatibilität auswählen.
Der Pfad auf der rechten Seite des LoadModule Satements muss auf den
Pfad des PHP Moduls auf Ihrem System zeigen. Das obige Statement passt
zu den oben gezeigten Schritten.
15. Starten Sie den Apache Server mittels Ihrer normalen Prozedur. (Sie
müssen den Server stoppen und neu starten, und nicht nur mittels
eines HUP oder ISR1 Signals einen Reload initiieren.) |
|
Abhängig von Ihrer Apache Installation und Unix Variante gibt es viele
mögliche Wege, den Server zu stoppen und neu zu starten. Nachstehend
finden Sie einige typische Zeilen für einen Server Restart auf
verschiedenen apache/unix Installationen. Ersetzen Sie
/path/to/ mit dem Pfad zu diesen Applikationen
auf Ihrem System.
Die Orte wo sich die Programme apachectl und http(s)dctl befinden,
sind oft unterschiedlich. Falls Ihr System über die Kommandos
locate, whereis, oder
which verfügt, können diese bei der Suche
nach den Server Kontrollprogrammen sehr hilfreich sein.
Einige Beispiele zum Kompilieren von PHP für Apache:
Dies erstellt eine libphp4.so Shared
Library, welche in den Apache geladen wird, wenn eine
LoadModule Zeile in der httpd.conf von
Apache existiert. Die PostgreSQL Unterstützung ist in der
libphp4.so Bibliothek eingelagert.
Dies erstellt ebenfalls eine libphp4.so
Shared Library, jedoch wird zusätzlich auch eine
pgsql.so Shared Library erstellt. Diese wird
entweder aufgrund der Extension Option in der php.ini, oder durch
die Verwendung der Funktion dl() in einem Skript
von PHP geladen.
Dies erstellt eine libmodphp4.a Bibliothek,
eine mod_php4.c sowie einige begleitende Dateien,
und kopiert diese in das src/modules/php4
Verzeichnis im Apache Source Tree. Dann kompilieren Sie Apache mit
--activate-module=src/modules/php4/libphp4.a,
und das Apache Build System erstellt libphp4.a,
und linkt es statisch in die httpd Binary. Die
PostgreSQL Unterstützung ist in dieser httpd
Binary inkludiert, was in einer einzigen httpd
Binary inkl. komplettem Apache und komplettem PHP resultiert.
Wie vorher, außer dass die PostgreSQL Unterstützung nicht direkt
in die httpd inkludiert, sondern eine
pgsql.so Shared Library erstellt wird.
Diese können Sie entweder mittels der Extension Option in der
php.ini, oder direkt mittels dl() in PHP
laden.
Bevor Sie sich für eine Methode PHP zu kompilieren entscheiden,
sollten Sie die Vor- und Nachteile der jeweiligen Methode bedenken.
Die Kompilation als verteiltes Objekt heißt, dass Sie Apache separat
kompilieren können, und nicht für alles in PHP hinzugefügte bzw.
geänderte neu kompilieren müssen. PHP direkt in Apache
einzukompilieren (statische Methode) heißt, dass PHP schneller lädt
und schneller läuft. Weitere Informationen finden Sie auf der
Apache webpage on DSO support.
Anmerkung:
Die httpd.conf von Apache kommt derzeit mit einem Abschnitt wie folgt:
Wenn Sie diese Gruppe nicht auf "Group nogroup" oder etwas ähnliches
("Group daemon" ist auch weit verbreitet) ändern, kann PHP keine
Dateien öffnen.
Anmerkung:
Wenn Sie --with-apxs=/path/to/apxs
verwenden, spezifizieren Sie die installierte Version von apxs. Sie
sollten die in den Apache Sourcen enthaltene apxs Version NICHT verwenden,
sondern jene, welche sich aktuell auf Ihrem System befindet.
Installation von PHP auf Windows mit Apache 1.3.x
Es gibt zwei Arten, PHP mit Apache 1.3.x unter Windows aufzusetzen.
Eine ist die Verwendung des CGI Moduls (php.exe), die andere ist
der Einsatz der Apache Modul DLL. In beiden Fällen müssen Sie den
Apache Server stoppen und Ihre httpd.conf editieren, um Apache
für die Zusammenarbeit mit PHP zu konfigurieren.
Es ist erwähnenswert, dass die Stabilität des SAPI Moduls erhöht
wurde, und dass wir aufgrund der höheren Transparenz und Sicherheit
den Einsatz gegenüber dem CGI Programm bevorzugt empfehlen.
Obwohl einige Variationen in der Konfiguration von PHP unter
Apache möglich sind, sollten diese auch für Neulinge einfach
genug sein. Für weitere Konfigurationsmöglichkeiten
konsultieren Sie bitte die Apache Dokumentation.
Wenn Sie die PHP Distribution wie im Abschnitt Manuelle Installationsschritte
beschrieben nach c:\php\ entpackt haben, müssen
Sie die folgenden Zeilen in Ihrer Apache Konfigurationsdatei einfügen,
um das CGI-Modul aufzusetzen:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"
Beachten Sie, dass die zweite Zeile der obigen Liste in den
aktuellen Versionen von httpd.conf bereits enthalten, jedoch
auskommentiert ist. Vergessen Sie nicht, c:/php/
durch den aktuellen Pfad zu PHP zu ersetzen.
| Warnung |
Wenn Sie das CGI Setup verwenden, ist Ihr Server für verschiedene
mögliche Angriffe offen. Informationen, wie Sie sich vor Angriffen
schützen können, finden Sie im Abschnitt CGI Sicherheit
|
Wenn Sie PHP als Apache Modul einsetzen möchten, kopieren Sie die
php4ts.dll in Ihr windows/system
(für Windows 9x/Me), winnt/system32 (für Windows
NT/2000) oder windows/system32 (für Windows XP)
Verzeichnis, und überschreiben die dort eventuell bereits existierende
Datei. Dann sollten Sie die folgenden Zeilen in Ihrer Apache
httpd.conf Datei einfügen:
Öffnen Sie die httpd.conf mit Ihrem Editor, gehen Sie zur Anweisung
LoadModule und fügen folgende Zeile am Ende der
Liste hinzu:
LoadModule php4_module c:/php/sapi/php4apache.dll
Nach Verwendung der Windows Installers für Apache kann es sein, dass
Sie die Anweisung AddModule für
mod_php4.c definieren müssen. Dies ist vor allem dann
wichtig, wenn die ClearModuleList Anweisung definiert
ist, welche Sie ein paar Zeilen darunter finden. Sie werden eine Liste
mit AddModule Einträgen finden, an dessen
Ende Sie bitte die folgende Zeile hinzufügen:
AddModule mod_php4.c
Suchen Sie nach einer Phrase wie
# AddType allows you to tweak mime.types. Hier
werden Sie einige AddType Einträge sehen. Fügen Sie
die folgende Zeile am Ende der Liste ein:
AddType application/x-httpd-php .php.
Hier können Sie jede beliebige Extension von Dateien angeben, welche
durch PHP geparst werden sollen. .php ist einfach die von uns empfohlene.
Sie können aber auch .html und .php3 zwecks Rückwärtskompatibilität einfügen.
Vergessen Sie nicht, nach der Änderung der Konfigurationsdatei den
Server neu zu starten, z.B. mit NET STOP APACHE,
gefolgt von NET START APACHE wenn Sie Apache als
Windows Service nutzen, oder verwenden Sie Ihre üblichen Shortcuts.
Es gibt zwei Arten, wie Sie das Feature Source Code Highlighting
verwenden können, auch wenn deren Funktionsfähigkeit von Ihrer
Installation abhängt. Wenn Sie Apache so konfiguriert haben, dass
er PHP als SAPI Modul verwendet, können Sie dieses Feature verwenden,
indem Sie die folgende Zeile in Ihrer httpd.conf einfügen (an der selben
Stelle wo Sie AddType application/x-httpd-php .php
eingefügt haben, siehe oben):
AddType application/x-httpd-php-source .phps.
Haben Sie Apache so konfiguriert, dass er PHP als CGI Programm verwendet,
müssen Sie die Funktion show_source() benutzen. Dies
tun Sie, indem einfach ein PHP Skript mit folgendem Code erstellen:
<?php show_source ("original_php_script.php"); ?>.
Ersetzen Sie original_php_script.php durch den
Dateinamen des Skriptes, dessen Source Sie zeigen wollen.
Anmerkung:
Bei Apache unter Windows müssen alle Backslashes in einer Pfadangabe
wie z.B. "c:\directory\file.ext" durch Slashes ersetzt werden, wie
z.B. "c:/directory/file.ext".
|
|
|
 |
 |
 |
 |
 |
 |
|
 |