Tutorial: PHP installieren | Probleme mit der PHP Installation

Status
Für weitere Antworten geschlossen.

Delmar

Aktives Mitglied
Thread Starter
Dabei seit
28.09.2002
Beiträge
829
Reaktionspunkte
1
ANKÜNDIGUNG: "Tutorial: PHP installieren |_Probleme mit der PHP Installation"

Hallo zusammen,

um die Nachfragen und Probleme bzgl. der Installation von PHP unter Mac OS X zu
mindern, wird es hier demnächst ein kleines Tutorial bzgl. dieses Themas geben.

Fragen und Anregungen hierzu und zum folgenden Tutorial bitte per PN an mich.


Gruß
Delmar
 
Zuletzt bearbeitet:
Dann will ich Delmars Vorsatz mal weiterführen:

Zuerst: PHP ist schon auf jedem Rechner mit MacOS X installiert!

Um mit PHP programmieren zu können, ist ein simpler Editor ( keine Textverarbeitung) nötig. Besonders geeignet sind z.B.:

SubEthaEdit: http://www.codingmonkeys.de/subethaedit/
TextWrangler: http://www.barebones.com/products/textwrangler/index.shtml

Linuxer wird es freuen, daß auch Quanta unter MAC OS X seinen Dienst tut.


Leider ist bei Mac OS X zwar der Webserver installiert, PHP wurde jedoch deaktiviert. Wir müssen das also zunächst nachholen.

(1) Im Finder über "Gehe zu" zu folgendem Verzeichnis wechseln: /etc/httpd
edit: Ab OS Leopard liegt die Datei unter /etc/apache2/ ! Auch wird hier PHP5 und nicht mehr PHP4 eingesetzt!

(2) In diesem Verzeichnis liegen viele Konfigurationsdateien. Vorsicht! Nichts löschen oder ändern, wenn Ihr nicht wißt was ihr tut! Sucht die Datei httpd.conf Sie steuert das Verhalten des Apache-Webservers.

(3) Laß Dir per CTRL-Click die Informationen zu dieser Datei anzeigen. Unter "Sie dürfen" steht "Nur Lesen". Dies muß geändert werden, wir wollen ja die Datei so ändern das auch PHP läuft.Click also auf das Schloß und ändert den Eigentümer (unter Details) kurzerhand auf Deinen Namen. Nun darfst Du die Datei verändern.

(4) Öffne die Datei nun mit einem der oben angegebenen Editoren. Ändere in dieser Datei bitte nichts, was hier nicht erwähnt ist. Jedes Zeichen ist wichtig.

(5) Suche folgende Zeile:

#LoadModule php4_module libexec/httpd/libphp4.so

Das #-Zeichen verhindert das diese Zeile ausgeführt wird. # ist ein Kommentarzeichen. Entferne das Zeichen, so daß die Zeile so aussieht:

LoadModule php4_module libexec/httpd/libphp4.so

(6) Suche folgende Zeile:

#AddModule mod_php4.c

und entferne auch hier das Kommentarzeichen:

AddModule mod_php4.c

jetzt wird das PHP4-Modul geladen und gestartet, wenn der WebServer startet.

(7) Speichere die geänderte Datei

(8) Rufe wieder per CTRL-click die Informationen zu dieser Datei auf und übergib sie wieder dem Benutzer SYSTEM ( wir wollen sie jetzt nicht mehr ändern). Andere Benutzer dürfen diese Datei nicht ändern können. Dies wäre ein Sicherheitsrisiko.

(9) Schliess den Finder Ordner

(10) Wechsele zu den Systemeinstellungen
unter Sharing findest Du einen Punkt "Personal Web Sharing". Wenn der noch nicht aktiviert ist, so tue dies jetzt. Ist er aktiviert, so stoppe diesen Dienst einmal und aktiviere ihn wieder. Beim Start des Dienstes wird die von uns geänderte Date ausgeführt und somit PHP4 ebenfalls gestartet.

DAS WAR ALLES! DAS MITGELIEFERTE PHP4 LÄUFT JETZT.
 
Zuletzt bearbeitet:
PHP5:

Wem das "gebastel" an der httpdf.conf zuwider ist und wer auch gleich das aktuellere PHP5 haben möchte, der kann das offizielle Release von www.php.net unter folgender URL bekommen:

http://www.entropy.ch/software/macosx/php/

Beachtet dabei bitte folgendes:

Wenn Du keinen anderen apache-Server selbst installiert habt, so brauchst Du das Paket für die apache 1.3x-Versionen. Der Apache2 bringt zunächst noch keine Nennenswerten Vorteile; wir brauchen ihn nicht. Die Version mit der kommerziellen PDFLib macht nur Sinn, wenn Du viele PDF-Dateien mit PHP erstellen magst. Damit ein Wasserzeichen aus den PDF-Seiten verschwindet, muß man eine Lizenz für PDFLib erwerben. Es gibt aber auch Lizenzfreie Varianten um mit PHP PDF's zu erstellen. Ich rate also zum Download des DMG-Files ohne PDF (PHP Version 5.03 oder was gerade aktuell ist). Vorsicht, die Datei ist über 20MB groß, da man ein sehr komplettes PHP inklusive aller PEAR-Dateien (Zusatzklassen, alle freeware) erhält. Die DMG_Datei wird einfach per Doppelclick gestartet und PHP5 wird installiert. Die httpd.conf wird dabei mit geändert.
Das schöne an dieser Installation ist, das sie voll kompatibel und transparent zum bisherigen Mac OS X ist. PHP5 wird inclusive PEAR in

/usr/local/php5/

in einem eigenen Verzeichnis installiert. In der httpd.conf wird lediglich ein vorhandenes altes PHP ( wenn installiert) deaktiviert und die neue Version per include-Befehl hinzugefügt. Alle Änderungen an PHP erfolgen ab da in
/usr/local/php5/. Die php.ini z.B. liegt für diese Version in /usr/local/php5/etc/php.ini.
In dieser Datei ist das generelle Verhalten von PHP festgeschrieben. Funktionieren Programme nicht wie gewünscht oder es Übertragungen werden abgebrochen, Variablen enthalten keine Werte,... dann ist es häufig ein fehlender/fehlerhafter Eintrag in dieser Datei.

Dieses Release von PHP ist die offizielle Version von PHP. Ich bevorzuge sie deshalb und weil sie sich so nahtlos in Mac OS X einfügt.

update
Die PHP-Releases auf entropy.ch werden nicht mehr aktualisiert zur Zeit. Wer sich mit der Shell und UNIXen auskennt, kann sich selbst dort eine Version erstellen. Eine fertige Lösung mit grafischem Installer gibt es aber - gerade für Leopard - derzeit nicht. Abhilfe kann hier der
MAMP-Server liefern, der einen Apache mit PHP5 und MySQL in einer Anwendung zum Download bietet. Zu finden hier: http://www.mamp.info
Eine weitere Möglichkeit ist die Nutzung von MacPorts wo man mittels

sudo ports apache2+php5+mysql5+server

eine fertige Umgebung aus Apache 2.2, aktuellem PHP5 sowie MySQL erhält. ACHTUNG: Damit wird ein 2ter Apache auf dem System installeirt. Den von OS X bitte per Web-Sharing deaktivieren. Die Option +Server ermöglicht das LaunchDaemons mitinstalliert werden. Durch einfache kurze Shelleingaben kann so dafür gesorgt werden das MySQL und Apache direkt beim booten gestartet werden!



Und wie jetzt weiter ?

Wer programmieren kann, findet unter


www.php.net/manual/de

eine hervorragende, komplette Beschreibung. Die Beschreibung ist mit zahlreichen Beispielen dokumentiert und von usern dynamisch ergänzt.
Wer noch nicht programmieren kann, sei generell auf den Buchmarkt verwiesen. PHP ist eine komplette Skriptsprache und daher nicht an einem Wochenende zu lernen. Natürlich helfe ich hier auch bei Startschwierigkeiten gern, wenn Ihr nichts im online-Manual finden konntet.


Wohin mit den Web-Dateien, damit der WebServer die auch verarbeitet

Standardmäßig ist der Pfad zum Webserver-Verzeichnis bei Mac OS der Folgende:

/Library/WebServer/Documents/

In Dokumentationen für UNIX-Systeme wird dieses Verzeichnis häufig auch htdocs genannt. Dies ist die Wurzel Eueres Webservers. Wenn Ihr den mit einem Web-Browser ansprecht :

http://localhost/

oder

http://EuerPC.local/

Dann wird die index.html in dem Verzeichnis /Library/WebServer/Documents/index.html gesucht. Für alle Dateien gilt, daß sie für den Webserver mit PHP lesbar sein müssen. Also die Rechte am betsen so setzen, das jeder die enthaltenen Dateien lesen kann. Beschreibbar dürfen sie nat nur für Euch sein, sonst kann jeder die Dateien verändern und Eueren Webserver sehr einfach hacken. Ich habe mir übrigens das Documents Verzeichnis in das Finder-Fenster gezogen, so kann ich schnell auf meine Webserver-Dateien zugreifen. ACGTUNG: Nicht mit dem Dokumentenverzeichnis in Euerem Heimatverzeichnis verwechseln!


Woher weiß ich ob PHP funktioniert

Nun, wir schreiben einfach ein kleines Helloworld-Programm:

hallo.php:
PHP:
<?
  print "<h1>Hallo Welt, PHP läuft !</h1><hr>";
?>

Speichert es unter /Library/WebServer/Documents/hallo.php. Setzt die Rechte so, das jeder die Datei lesen darf und ruft sie dann im Webbrowser auf:

http://localhost/hallo.php

Sollte die Datei einen großen Text mit Hallo Welt ausgeben und einem Strich darunter, dann ist alles Prima gelaufen. Erscheint die Datei so,
wie ihr sie eingegeben habt ( mit dem Anfang "<?..."), dann ist PHP nicht aktiv und der Webbrowser glaubt er muß einfach den Text wiedergeben. Er führt die PHP-Anweisungen dann nicht aus. Erhaltet Ihr einen Fehlertext, so stimmen die Rechte nicht. Gibt es eine leere Webseite, habt Ihr vielleicht einen PHP-Fehler gemacht. Angaben dazu findet Ihr im error.log von Apache ( siehe unten).

Eine nützliche Änderung ist übrigens folgendes Testskript. Es gibt alle Angaben zur Konfiguration von Apache und PHP in einer großen Tabelle wieder. VORSICHT bei öffentlichen Servern! Hacker freuen sich über solche Hilfe. Dort sollte so eine Datei nie öffentlich herumliegen:

info.php:
PHP:
<?
  phpinfo();
?>




Wenn etwas nicht klappt, wo stehen die Fehlermeldungen des Webservers oder von PHP

Alte Versionen von PHP geben die Fehler teilweise direkt im Browser aus. Das ist praktisch, aber eben auch unschön. Außerdem sollten User nicht unbedingt etwas davon mitbekommen. Neuere PHP-Versionen schreiben die Fehler daher direkt in die Fehlerdatei des Webservers Apache. Das ist praktisch, braucht man doch für alle Fehler nur in eine Datei sehen.

Für alle die sich nicht mit dem Terminal auskennen, hier ein kurzer Tipp:

- öffnet ein Terminal und zieht es an eine Stelle, wo ihr es zum Test Eurer PHP-Seiten sehen könnt. Es sollte möglichst breit sein, damit die Fehlertexte nicht umgebrochen werden müssen. Mit der Höhe könnt ihr hingegen sparen! Es kommen meist nur 3-4 Zeilen an Fehlern auf einmal.

- die Fehlerdatei befindet sich an folgender Stelle:

/va/log/httpd/error_log

- Es ist ein bißchen mühsam, immer wieder an das Ende der Datei zu schauen, aber wofür haben wir einen Computer? Soll der das doch tun. gebt folgenden Befehl ein:

tail -f /var/log/httpd/error_log

dies gibt die letzten Zeilen der Datei aus. Der Befehl endet NICHT! Jede neue Zeile wird automatisch angezeigt, ihr seit immer auf dem Laufenden. Ein kleines simples Debugger-Fenster läuft parallel zu eueren Webseiten-Aufrufen. Um das Skript zu beenden, reicht es einfach CTRL-C zu drücken und ihr könnt das Terminal schließen.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten