PHP Apache Modul
This page in French (Thanks Guillaume Henot!)
This page in English
********** WICHTIG ************
Diese Seite ist veraltet und die Informationen darauf treffen nicht mehr bzw. nur noch teilweise zu. Die englische Version der Seite ist auf dem aktuellen Stand.
********** WICHTIG ************
HINWEIS bezüglich PHP Version 4.2.x: Wenn Ihre PHP-Skripts ab Version 4.2.x nicht mehr richtig
funktionieren, liegt das Problem NICHT an meinem Modul, sondern an einigen Änderungen in PHP. Es gab
mit dieser Version einige Umstellungen, die in den Release Notes erläutert sind.
Insbesondere sind einige Variablen nicht mehr gleich "sichtbar".
Sie werden vermutlich Ihren PHP-Code anpassen müssen, bei mir musste jedes einzelne Skript geändert werden.
Einführung
Dies ist das PHP Modul für den in Mac OS X enthaltenen Apache Webserver.
PHP ist eine Server-seitige, Plattform-unabhängige in HTML eingebettete Skript-Sprache für dynamische Webseiten.
Diese spezielle Version des Moduls basiert auf der neusten Version 4.3 der Software.
- Sie funktioniert NUR mit Mac OS X Version 10.2 (Jaguar)!
Falls Sie eine Version benötigen, die unter 10.1.x funktioniert steht die ältere Version 4.2.2 noch zur Verfügung. Benennen Sie sie nach dem Download und vor dem Dekomprimieren mit dem unten angegebenen "gunzip" Kommando um, so dass der Name "libphp4.so.gz" lautet.
Das Modul enthält Unterstützung für folgende Optionen:
Das offizielle ChangeLog enthält die Umfangreiche Liste der Verbesserungen in dieser Version.
HINWEIS: Dieses Modul funktioniert ausschliesslich mit dem unveränderten Original-Apache Webserver der mit
Mac OS X installiert wurde.
Falls Sie den Webserver selbst vom Sourcecode ausgehend neu kompiliert haben, werden sie höchstwahrscheinlich eine Fehlermeldung
der Art "module structure is garbled" sehen, sobald Sie versuchen, den Webserver nach der Installation dieses
Moduls neu zu starten.
Sie müssen sich in diesem Fall auch das PHP Modul noch selbst kompilieren (passend zu Ihrem eigenen Apache),
oder wieder den original Apache Server von Apple installieren.
Installations-Anleitung
Dieses Modul benötigt zwingend Mac OS X 10.2. Es funktioniert nicht mit älteren 10.1 Systemen.
Seit Mac OS 10.1 liefert Apple bereits ein funktionierendes PHP Modul mit.
Dieses Modul von Apple bietet wesentlich weniger Funktionen (kein GD, nur MySQL DB Unterstützung etc.),
benötigt aber vermutlich etwas weniger Speicher.
Falls Sie mein Modul von dieser Seite benutzen möchten (d.h. mehr Funktionen), führen Sie zunächst
die folgenden Schritte aus, andernfalls (d.h. sie möchten das Apple Modul benutzen) fahren Sie direkt mit
"Aktivieren des PHP Moduls" fort.
- Öffnen Sie ein Terminal-Fenster
- Tippen Sie "curl -O http://www2.entropy.ch/download/libphp4.so.gz", warten Sie bis die Übertragung beendet ist
- Tippen Sie "gunzip libphp4.so.gz"
- Tippen Sie "sudo mv libphp4.so /usr/libexec/httpd/"
Aktivieren des PHP Moduls
- Öffnen Sie ein Terminal-Fenster
- Tippen Sie "cd /etc/httpd"
- Tippen Sie "sudo apxs -e -a -n php4 libexec/httpd/libphp4.so"
- Unter OS X vor 10.2 tippen Sie
sudo perl -p -i.bak -e 's%#(AddType \S+-php[ -])%$1%i' httpd.conf
- Unter OS X ab 10.2 tippen Sie
echo 'echo "AddType application/x-httpd-php .php" >> /etc/httpd/httpd.conf' | sudo sh -s
(Hinweis: Tippen Sie dies nicht von Hand ab, benutzen Sie stattdessen bitte Copy/Paste direkt von dieser Webseite aus in das Terminal-Fenster)
Tippen Sie zuletzt "sudo apachectl graceful" um den Webserver neu zu starten.
PHP sollte nun aktiv sein. Sie können dies überprüfen, indem Sie in
Ihrem "Sites" Ordner eine Datei anlegen, deren Name "test.php" lautet.
Schreiben Sie folgende Zeile in diese Datei:
"<?php phpinfo() ?>".
Öffnen Sie nun die Adresse http://127.0.0.1/~ihr_kurzname/test.php in Ihrem Web-Browser.
Sie sollten eine lange Status-Tabelle mit Informationen über das PHP Modul sehen.
Update-Anleitung
Falls Sie bereits eine ältere Version dieses Moduls installiert haben, führen Sie folgende Schritte aus,
um auf die neuste Version zu aktualisieren:
- Öffnen Sie ein Terminal-Fenster
- Tippen Sie "curl -O http://www2.entropy.ch/download/libphp4.so.gz", warten Sie bis die Übertragung beendet ist
- Tippen Sie "gunzip libphp4.so.gz"
- Tippen Sie "sudo apxs -i -a -n php4 libphp4.so"
- Tippen Sie "sudo apachectl graceful" um den Webserver neu zu starten
Die neue Version sollte nun aktiv sein, Sie können dies mit dem oben erwähnten phpinfo() Tip überprüfen.
Beispiele
FAQ
Dieser Abschnitt gibt Antworten auf einige sehr häufig gestellte Fragen.
"Wo ist die php.ini Datei?"
In diesem Paket ist keine enthalten.
Falls Sie eine benötigen, legen Sie sie einfach unter /usr/local/lib/php.ini an,
einschliesslich des lib Verzeichnisses falls dieses noch nicht existiert:
sudo mkdir -p /usr/local/lib
sudo touch /usr/local/lib/php.ini
Die meisten Leute, die nach dieser Datei fragen, scheinen am Versand von E-mails aus PHP heraus
interessiert zu sein. PHP unter Mac OS X benutzt dazu das von Apple mitgelieferte sendmail Programm,
dieses verweigert jedoch aus Sicherheitsgründen (aufgrund fehlerhafter Berechtigungen im Dateisystem)
standardmässig den Betrieb.
Meistens reichen folgende Befehle, um das Problem zu beheben:
sudo chmod g-w /
sudo chown smmsp:smmsp /var/spool/clientmqueue
Beachten Sie, dass diese Prozedur nach jedem Mac OS X Update wiederholt werde muss,
da Apple die Berechtigungen bei jedem dieser Updates wieder falsch setzt...
Dieser gibt weitere Hilfe bezüglich sendmail und Mac OS X 10.1.5.
"Funktioniert dieses Modul unter Mac OS X Server?"
Anscheinend funktioniert es unter OS X Server 10.2 wenn man
das "apple_auth_module" in der Apache Server Konfigurationsdatei deaktiviert.
Vielen Dank an Arnold Schwaighofer for this tip.
Weshalb erscheint Müll der Art {\rtf1\mac\ansicpg10000\cocoartf100 auf jeder Seite?
Sie haben vermutlich TextEdit benutzt, um Ihre .php Datei zu bearbeiten. Tun Sie das nicht!.
TextEdit fügt haufenweise RTF Steuerzeichen in Ihren HTML oder PHP Code in, den Sie danach im Browser sehen.
Ein sehr gutes Werkzeug für Arbeiten dieser Art ist der BBEdit
oder BBEdit lite Text Editor!
"Weshalb erhalte ich die Fehlermeldung 'Undefined symbols: _apple_hfs_module' when ich versuche, Apache unter Mac OS X 10.1 zu starten?"
Dies ist ein bekanntes Problem. Weitere Informationen dazu bei stepwise.com.
"Kann ich auch die CGI-Version von PHP bekommen?"
Ja. Hier ist sie (Version 4.1.1).
Weitere Informationen
|