Problem mit php Installation

aquakult

Neues Mitglied
Thread Starter
Dabei seit
09.05.2005
Beiträge
15
Reaktionspunkte
0
Hallo
im Rahmen eines Kurses zu "Datenbankgestützten Webseiten" habe ich versucht php auf OSX 10.3.9 funktionstüchtig zu machen.
Bisher läuft es nicht und verschiedenste Mac-Kenner konnten mir nicht mehr weiterhelfen.

Begonnen habe ich mit dem Download von PHP 5.0.4 for Apache 1.3 (für Mac OSX 10.3) (http://www.entropy.ch/software/macosx/php/)
Das dann erhaltene dmg-file habe ich aufgerufen und die Installation wurde abgeschlossen ohne weitere Meldungen.
Eine test.php Datei wurde jedoch nach diesem Schritt (den ich nun mehrmals wiederholte und mit Erfahreneren Schritt für Schritt durchging) nur als Text ausgegeben (der Interpreter scheint also nicht zu laufen).

Darauf hin wendete ich mich der httpd.conf zu. Dort aktivierte ich nun den per Hand php4 (wie hier im Forum auch empfohlen).
An dem Problem änderte sich nichts - auch verschiedene andere php-Dateien (ohne Frage fehlerlos) werden nur als Text angezeigt/ nicht interpretiert.

Fraglos ... :rolleyes:

PS:
Wo findet man die php.ini?
Unter /usr/local/php5 konnte ich sie nicht finden. Über Apfel+f findet er sie nicht (scheinbar weil sie versteckt ist - obwohl ich über tinkertool alle Dateien habe anzeigen lassen).
 
Hmpf!

Also die php.ini von entropy.ch befindet sich etwas unlogisch unter

/usr/local/php5/lib/php.ini

das kann aber nicht das Problem sein! Wenn die PHP-Datei Syntaktisch korrekt ist, muß Apache sie auch ausführen. Der Quellcode darf also NICHT erscheinen!

Entropy.ch sollte PHP dann mit folgenden Zeilen in der

/etc/httpd/httpd.conf installieren:

# begin entropy.ch PHP module activation
Include /usr/local/php5/httpd.conf.php
# end entropy.ch PHP module activation

# begin entropy.ch PHP module activation
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php
# end entropy.ch PHP module activation


die Zeilen befinden sich am Ende der httpd.conf. Aktivierungen von php4 sollten dabei besser wieder auskommentiert werden. danach solltest Du Apache einmal neustarten:

apachectl restart

dabei darf keine Fehlermeldung im Terminal kommen!
 
Hallo

(die php.ini hab ich nun doch gefunden - dort wo beschrieben)
Entropy.ch ist bei mir mit all den Zeilen in der httpd.conf installiert.
Habe nun wieder php4 auskommentiert.

Den Neustart von Apache führe ich (wenn ich mich recht erinnere) durch indem ich unter "Sharing" in der Systemsteuerung "Personal Web Sharing" Stoppe und Neustarte.
Nach der Zeremonie hat sich nichts verändert. (Es kam keine Fehlermeldung (in welchem Terminal?) und der Quellcode der Test-php ist mit Sicherheit korrekt).
Können Sicherheitseinstellungen oder Programme zu einem solchen Problem beitragen?
 
Zuletzt bearbeitet:
Ich schließe mich diesem Thread mal an, ich habe nämlich ein ähnliches Problem. Ich hatte unter Panther das WebServerX Kit installiert, was auch ohne Probleme funktioniert hatte (sprich für "Dummies" wie mich: Installiert. Lief. Ohne irgendwelche Dateien zu modifizieren.)

Jetzt habe ich Tiger und eine neuere Version von WebServerX, und mir werden ebenfalls PHP-Dateien als Text angezeigt.

Wenn ich im Terminal (aquakult, das Terminal findet man unter Programme -> Dienstprogramme -> Terminal)

apachectl restart

eingebe, dann bekomme ich folgende Fehlermeldung:

/usr/sbin/apachectl restart: httpd not running, trying to start
Processing config directory: /private/etc/httpd/users/*.conf
Processing config file: /private/etc/httpd/users/daria.conf
fopen: Permission denied
httpd: could not open error log file /private/var/log/httpd/error_log.
/usr/sbin/apachectl restart: httpd could not be started

Ist da noch was zu retten, LOL? ;)

PS: Ein weiteres kleines Problem: Ich habe das Tutorium ausprobiert, in dem PHP4 freigeschaltet werden muss, leider habe ich danach gesehen dass es sich bei der Version vom WebServerX um PHP5 handelt.

Wäre ja nicht so tragisch, allerdings gelingt es mir einfach nicht, wieder den richtigen Eigentümer bei der httpd.conf-Datei einzustellen :/ Irgendwie springt der automatisch wieder auf mich um. Über Hilfe würde ich mich sehr freuen.
 
Zuletzt bearbeitet:
@aquakult:

Das Terminal findet man unter Dienstprogrammen. Der Vorteil ist, daß potentielle Fehler dort ausgegeben werden und uns das raten hier ersparen. Daher würd ich Dir mal zu einer Textbasierten Variante raten.

daria:
fopen: Permission denied
httpd: could not open error log file /private/var/log/httpd/error_log.
/usr/sbin/apachectl restart: httpd could not be started

Ist da noch was zu retten, LOL?

Zu retten ist immer was. Ich kenne diese PHP-Installation nicht ( wieviele verschiedene Versionen gibts eigentlich für den MAC ?). Die entropy.ch und MAMP funktionieren wohl klaglos. Zu Tiger kann ich noch nichts sagen, daß war mir zu früh für nen Umstieg. Apache konnte laut Deinen Angaben nicht starten, weil

/private/var/log/httpd/error_log nicht beschrieben werden konnte. Bei mir (OS Panther), sehen die Berechtigungen der Datei so aus:

-rw-r--r-- 1 root wheel 24044 12 May 23:12 /private/var/log/httpd/error_log

das heißt nur root darf in die Log-Datei schreiben und daher muß der primäre Apache auch durch root gestartet werden, nehme ich an. Probiers doch mal mit einem sudo apachectl start!
 
wegus schrieb:
Probiers doch mal mit einem sudo apachectl start!
Super, besten Dank, das hat ohne weitere Fehlermeldungen funktioniert!

Allerdings habe ich jetzt immer noch das Problem, dass nicht das System, sondern ich als Besitzer der httpd.conf-Datei eingetragen bin. Ich kann irgendwie nicht nachvollziehen wieso ich das nicht ändern kann. Könnte ich das evtl. auch über das Terminal ändern?
 
sudo chown root:wheel /<pfad>/httpd.conf

<pfad> durch den realen Pfad ersetzen
 
Zuletzt bearbeitet:
Ich kenne das Problem und habe eine vorübergehende Lösung gefunden (bis es hoffentlich im Tigerupdate korrigiert wird).

Die httpd.conf ist bei Tiger unvollständig.
Ich hatte noch die alte unter Panther gesichert und unter Tiger ersetzt.
Jetzt geht's wieder.

In dieser Datei hatte ich vorher einige Sachen ändern müssen. Die php-Freigabe allein reicht nicht.

Wer Interesse hat, dem maile ich die Datei zu.
Einfach Mailadresse per PN an mich.
 
Die alte httpd.conf führt unter Tiger zu Fehlermeldungen, da "Rendevouz" in "Bonjour" umgetauft wurde.
Ansonsten sind mir keine Unterschiede in den default Dateien aufgefallen.
 
maceis schrieb:
sudo chown root:wheel /<pfad>/httpd.conf

<pfad> durch den realen Pfad ersetzen
Ok, danke! Ich habe folgendes eingegeben:
sudo chown root:wheel /private/etc/httpd/httpd.conf

Und die Eigentümer haben sich dennoch nicht geändert...
 
Daria M. schrieb:
Ok, danke! Ich habe folgendes eingegeben:
sudo chown root:wheel /private/etc/httpd/httpd.conf

Und die Eigentümer haben sich dennoch nicht geändert...
Laut Finder oder laut Terminal?
Glaube immer dem Terminal.

Falls es im Terminal auch nicht klappt (was ich kaun glauben kann), einfach mal den Exit-Status des chown-Kommandos abfragen:
echo $?
Sollte 0 ergeben.
 
Ok, danke! Ich habe folgendes eingegeben:
sudo chown root:wheel /private/etc/httpd/httpd.conf

Und die Eigentümer haben sich dennoch nicht geändert...

Tiger verwendet doch schon ACL statt owner/group, fällt mir gerade ein!
Die Befehle dazu sind mit Sicherheit anders! Eine Beschreibung des ACL-Verfahrens unter Mac OS gibt es z.B. hier:

http://arstechnica.com/reviews/os/macosx-10.4.ars/8
 
Wie kann ich denn die Verzeichnisse wo PHP5 installiert ist unter Tiger im Finder anzeigen lassen?
 
@wegus

die ACL ergänzen nur die klassische Rechtevergabe unter Linux.
Die klassischen Rechte sind aber immer noch die Basis (zumindest soweit ich mich bisher damit beschäftigen konnte)
 
Bzgl. des beschriebenen Fehlers habe ich nun
apachectl restart
im Terminal eingegeben.

Es folgte:

/usr/sbin/apachectl restart: httpd not running, trying to start
Processing config directory: /private/etc/httpd/users/*.conf
Processing config file: /private/etc/httpd/users/gast.conf
Processing config file: /private/etc/httpd/users/benutzer_name.conf
[Mon May 16 17:32:06 2005] [warn] module mod_php5.c is already added, skipping
fopen: Permission denied
httpd: could not open error log file /private/var/log/httpd/error_log.
/usr/sbin/apachectl restart: httpd could not be started
[Prozess abgebrochen - Ergebnis 5]


Habe dann folgenden Befehl eingegeben:
sudo apachectl start
es folgte:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:

#1) Respect the privacy of others.
#2) Think before you type.

Password:

____________
Ich bin bisher nicht sehr versiert. Was ziehe ich daraus für eine Lehre. (Habe ich die Rechte einzelner Dateien zu verändern?)
 
Okay; dann mach das was da steht (#q und #2) und gib Dein Passwort ein.
Das sollte dann mit folgender Meldung belohnt werden:
/usr/sbin/apachectl restart: httpd started.

Die Meldung deutet übrigens auf einen Konfigurationsfehler hin.
Könntest mal
sudo apachectl configtest
laufen lassen.
 
Auf die Passwort-Eingabe folgt:

/usr/sbin/apachectl start: httpd (pid 265) already running
[Prozess beendet]

Auf
sudo apachectl configtest
folgt:

Processing config directory: /private/etc/httpd/users/*.conf
Processing config file: /private/etc/httpd/users/gast.conf
Processing config file: /private/etc/httpd/users/benutzer_name.conf
[Mon May 16 23:35:26 2005] [warn] module mod_php5.c is already added, skipping
Syntax OK
[Prozess beendet]


?... mmmh
 
aquakult schrieb:
...
[Mon May 16 23:35:26 2005] [warn] module mod_php5.c is already added, skipping
Syntax OK
...
Sieht so aus, als ob module mod_php5.c ge"add"et wird. "skipping" heisst, dass das zweite ml einfach übersprungen wird.
"Syntax OK" dürfte klar sein.
Um die Warnung zu vermeiden solltest Du nach der zweiten "AddModule mod_php5.c"-Zeile suchen und diese löschen.
 
Eine solche Zeile kann ich nicht finden.

Im folgenden hänge ich nun die httpd.conf in txt-Form an.

Bin ratlos.

gruss
aquakult
 

Anhänge

  • 1httpd.conf.txt
    37,6 KB · Aufrufe: 85
Mach mal:

sudo grep -r mod_php5 /etc/httpd

ich vermute es steht im file
/private/etc/httpd/users/benutzer_name.conf

Deine Hauptkonfiguration lädt "mod_php5" noch nichteinmal einmal.

HTH
 
Zuletzt bearbeitet:
Zurück
Oben Unten