wie bekomme ich jetzt PHP zum laufen?

appelknolli

Mitglied
Thread Starter
Mitglied seit
13.11.2001
Beiträge
1.196
hallo leute,

ich habe mir nach DIESER anleitung php & mysql installiert. wenn ich jetzt meine phpinfo.php datei aufrufe, erscheint die php-seite im quelltext genau so wie meine komplette website die ich in diesen ordner kopiert habe. wo liegt jetzt der fehler das die php-scripte nicht richtig interpretiert werden sondern nur im quelltext dargestellt werden, im internet laufen sie einwandfrei.


danke schon mal im vorraus für eure hilfe und liebe grüsse, appel :D
 

Vevelt

Mitglied
Mitglied seit
01.09.2001
Beiträge
1.634
httpd.config

Moment, das klingt so, als wenn der Apache mit den Dateien *.php nichts anfangen könnte...

Activating the PHP Module

1. Open a terminal window
2. type "cd /etc/httpd"
3. type "sudo apxs -e -a -n php4 libexec/httpd/libphp4.so"
4. type "sudo perl -p -i.bak -e 's%#(AddType \S+-php[ -])%$1%i' httpd.conf"
(Note: Don't type this by hand, do a copy/paste from this web page directly to the terminal)

Finally, type "sudo apachectl graceful" to restart the web server

PHP should now be up and running. You can test it by dropping a file into your "Sites" folder which is called "test.php". Into that file, write this line: "<?php phpinfo() ?>".

Now open up 127.0.0.1/~your_username/test.php in your web browser.
You should see a status table with information about the PHP module.
Jene Schritte hattest du durchgeführt? Ich persönlich finde diese Schritte extrem kryptisch, da ich kein Perl kann, verstehe ich nicht so richtig, was dort passiert... :D

Ich hab die nötigen Schritte noch einmal zufuß parat, so daß du nochmal schauen kannst, ob alles glattgegangen ist... :D
  • Du must die Config-Datei des Webservers Apache bearbeiten, das tust du so (im Terminal):
    Code:
    sudo pico /etc/httpd/httpd.conf
  • Im unteren Drittel sind die Ladesequenzen für die einzelnen Module zu finden. Entferne die Rauten (#) vor der Zeilen:
    Code:
    LoadModule php4_module
    
    AddModule mod_php4.c
  • Nun muß Apache noch lernen, daß er auch *.php anzeigen kann, also entfernst du die Rauten vor folgenden Zeilen:
    Code:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  • Da die Indexseiten bei PHP auch die Endung *.php haben können, und Apache jene Seite (index.php) auch allein finden soll, ist noch folgende Änderung nötig:
    Code:
    <IfModule mod_dir.c>
    DirectoryIndex index.html [B]index.php[/B]
    </IfModule>
  • Nun noch die Änderungen in Pico mit Controltaste-O (O, nicht null) speichern und mit Controltaste-X Pico beenden.
  • Webserver beenden und wieder starten, um die Änderungen aktiv werden zu lassen.
So, ich hoffe, ich konnte dir damit helfen! :D

Gruß, Vevelt.
 

Bodo

Mitglied
Mitglied seit
09.11.2001
Beiträge
655
Tja, das mit dem Pico geht auch nur, wenn die Entwickler-Tools installiert sind (ist bestandteil davon). Ansonsten erlaube ich mir, hierrauf zu verweisen (die Korrektur, nicht die erste Beschreibung).

Test, ob PHP läuft:

Gib im Terminal
tail /var/log/httpd/error_log
ein, dann wird einem mitgeteilt, ob Apache das PHP-Modul geladen hat. Die Meldung sieht dann in etwa so aus:

Apache/1.3.22 (Darwin) PHP/4.0.6 configured -- resuming normal operations

Wenn Du schon das SecurítyUpdate vom April drauf hast, meldet das Terminal als PHP-Version 4.1.2
 
Zuletzt bearbeitet:

appelknolli

Mitglied
Thread Starter
Mitglied seit
13.11.2001
Beiträge
1.196
@bodo, ich bekomme folgende meldung;

1.

[Mon Jun 3 20:41:54 2002] [error] [client 127.0.0.1] File does not exist: /Library/WebServer/Documents//usr/conf/srm.conf
[Mon Jun 3 20:42:01 2002] [error] [client 127.0.0.1] File does not exist: /Library/WebServer/Documents/usr/conf/srm.conf
[Mon Jun 3 20:44:35 2002] [error] [client 127.0.0.1] File does not exist: /Library/WebServer/Documents/DB.php
[Mon Jun 3 21:33:00 2002] [notice] caught SIGTERM, shutting down

2.

[Mon Jun 3 21:33:02 2002] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Mon Jun 3 21:33:03 2002] [notice] Apache/1.3.23 (Darwin) PHP/4.1.2 configured -- resuming normal operations
[Mon Jun 3 21:33:03 2002] [notice] Accept mutex: flock (Default: flock)
[Mon Jun 3 21:43:12 2002] [notice] caught SIGTERM, shutting down


was heißt das jetzt? ich hoffe das ich dieses zeug auch mal lesen kann
:D , üben üben üben. wie auch immer mein php funzt immer noch nicht und der browser zeigt mir immer noch den quelltext.



viele grüsse, appel :D
 

Bodo

Mitglied
Mitglied seit
09.11.2001
Beiträge
655
Guten Morgen, @knolli;

Im Fall 1. ist ziemlich viel schief gegangen. Offensichtlich sucht Apache das Konfigurations-File nicht in /private/etc/httpd/users/srm.conf (srm ist Dein User-Name auf Deinem System;-)I , sondern eben im genannten Dictonary.

Ich bin weit davon entfernt, ein Experte zu sein, darum lasse ich mich da jetzt im speziellen nicht weiter aus (da hat es hier sicher fittere Leute).

Im Fall 2. sollte aber alles so laufen, wie Du das gerne hättest. Das er am Anfang meldet, der "Fully Qualified DomainName" kann nicht bestimmt werden, und er dafür 127.0.0.1 nimmt, spielt keine Rolle (macht Apache bei mir schon immer so). Hier im Forum gabs aber mal einen ausführlichen Beitrag, wie das zu berichtigen ist.

D.h. aber auch, dass Du im Browser nicht http://localhost... , sondern http://127.0.0.1/ als URL eingeben mußt.

Ich hoffe, wenigstens ein bischen geholfen zu haben.

Grüße, Bodo
 

bexxx

Mitglied
Mitglied seit
19.04.2002
Beiträge
55
@vevelt:

4. type "sudo perl -p -i.bak -e 's%#(AddType \S+-php[ -])%$1%i' httpd.conf"

Dieser Aufruf veranlasst Perl direkt in der http.conf zu ändern.
Und zwar ersetzt Perl den gefundenen Ausdruck #AddType irgentwas-php zu AddType ... .
Es entfernt also nur wahnsinnig kompliziert das "#".

Als Bonus benennt es VOR der Änderung die http.conf in http.conf.bak um :) sollte man immer machen :)

bexxx
 

Vevelt

Mitglied
Mitglied seit
01.09.2001
Beiträge
1.634
Achso...

@bexxx:

Sowas ähnliches hab' ich mir schon gedacht, aber da ich die einzelnen Anweisungen nicht verstanden habe... Aber Danke dir... :D

Gruß, Vevelt.
 

Bodo

Mitglied
Mitglied seit
09.11.2001
Beiträge
655
Pfad

Noch was:

Der einzige Grund, warum dann im Fall 2. Deine PHP-Dateien (oder Code) nicht geparst wird, liegt dann daran, dass in der Konfigurationsdatei PHP noch nicht mitgeteilt wurde, für welches Verzeichnis es denn nun zuständig ist.
 

sunni

Mitglied
Mitglied seit
06.03.2002
Beiträge
769
Hmmm ich hab zwar auch PHP aktiviert aber ich brauchte dazu nichts aus dem Internet herunterladen und keine Developertools installieren.

Ich habe auf Anleitung eines Kollegen bei:

LoadModule dav_module
LoadModule ssl_module
LoadModule perl_module
LoadModule php4_module

.
.
.

AddModule mod_dav.c
AddModule mod_ssl.c
AddModule mod_perl.c
AddModule mod_php4.c

.
.
.

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

das Rautezeichen # weggemacht.

Außerdem bei

<IFModule mod_dir.c>
DirectoryIndex index.html
</IfModule>

hinter dem index.html noch einfach ein index.php
angestellt.

Und dann gings... Könnt ihr auch sehen unter http://bigbluesun.dyndns.org/phpinfo.php sehen. Wenn da nichts kommt, einfach ein wenig Geduld haben und später nachschauen. Das PowerBook ist viel unterwegs!

Liebe grüße
Geri
 

Vevelt

Mitglied
Mitglied seit
01.09.2001
Beiträge
1.634
Genau.

@sungeri:

Genauso aktiviert man auch die in OSX integrierte PHP-Funktionalität (PHP 4.12 oder so... :D)

Siehe meine obige Antwort... :D:D:D

Ich hab zur generellen Übericht MySQL/PHP diesen Thread geschrieben, der euch PHP und MySQL-Interessierte interessieren wird... :D

Lieben Gruß, Vevelt.
 

sunni

Mitglied
Mitglied seit
06.03.2002
Beiträge
769
Nur der Kollege macht das professionell und ich weiß jetzt nicht, warum man perl, dav und ssl auch noch mit anschalten muß.

In der Richtung mach ich einfach, was mir gesagt wird ;)

Geri
 

Vevelt

Mitglied
Mitglied seit
01.09.2001
Beiträge
1.634
Perl und Co.

@sungeri: Für PHP mußt du Perl, DAV und SSL eigentlich nicht aktivieren, aber wenn du bei der Config schon dabei bist, dann kann man jene Features ja auch gleich aktivieren.

Die stören ja nicht... :D

Gruß, Vevelt.
 

sunni

Mitglied
Mitglied seit
06.03.2002
Beiträge
769
Aber eins wundert mich doch: Wenn in OSX das Feature PHP4 schon eingebaut ist, warum sollte man sich dann noch extra eine andere Version laden und installieren?
Die eingebaute tut es doch auch ohne weitere Einschränkung oder?
 

appelknolli

Mitglied
Thread Starter
Mitglied seit
13.11.2001
Beiträge
1.196
nun gut und danke für eure antworten, ich habe eure ratschläge befolgt aber es geht überhaupt nix zu guter letzt läßt sich websharing auch nicht mehr starten sondern es steht schon seit ca. 2 std auf

“Web Sharing aktivieren…“



naja vielleicht hat jetzt jemand eine idee wie ich das alles wieder rückgängig machen kann und nochmal von 0 anfangen könnte.
:( :p (humor ist wenn man trotzdem lacht)


viele grüsse, appel
 

sunni

Mitglied
Mitglied seit
06.03.2002
Beiträge
769
Kaputt gespielt :D

Stoppe das WebSharing und geh mit dem Terminal in den Ordner /etc/httpd
Lösche die httpd.conf
Kopiere die httpd.conf.default nach httpd.conf
Dann hast du den ursprünglichen Zustand vom Apache :)

cd /etc/httpd
sudo rm httpd.conf [pw eingeben]
sudo cp httpd.conf.default httpd.conf

Du schaffst das schon :)

Geri
 

appelknolli

Mitglied
Thread Starter
Mitglied seit
13.11.2001
Beiträge
1.196
leutz ich habe alles hinbekommen,


websharing läuft, php läuft, meine nase läuft und das geld rennt-mir davon :D .

nee im ernst ich hatte eine raute zu viel weggestrichen und bin jetzt mit bbedit an die httpd.conf rangegangen alles wieder berichtigt und siehe da es lief. *freu* *hüpf* *grins* *alle macuser hier umarm*

so, jetzt ist MySQL drann.


viele grüsse und nochmal ein danke schön, appel :D :D :D :D :D
 

dackel

Mitglied
Mitglied seit
22.10.2003
Beiträge
852
Hey hoo,

das Thema ist zwar schon verdammt alt, aber ich fange nochmal an.

Also ich habe genau das gleiche Problem, nur im Panther. Macht das einen Unterschied??

Ich bin noch recht neu in der mac-Welt und traue mich noch nicht so recht an Terminal etc heran.

Was genau muss ich einhacken?

Ich habe im Finder mal nach der httpd.conf und der ...nf.default gesucht und nicht gefunden.
Liegt das vielleicht an zerschossenen Zugriffrechten oder muss das so sein.

Ich dächte, dass ich die conf im Jaguar mal gesehen hätte.

(anderer) Bodo
 

luca

Mitglied
Mitglied seit
20.08.2003
Beiträge
546
moin

Für die, die gar nix raffen, und dazu zähle ich mich, was die Installation von PHP,MySQL und Apache, betrifft, ebenfalls dazu, kann ich nur DAS HIER empfehlen.

Auf der linken Seite kann man, unter FREE SOFTWARE "complete PHP" Apache, MySQL etc. herunterladen und idiotensicher installieren. Dazu gibt es auch noch PrefPanes die sich in den Systemeinstllungen einnisten, worüber man Apache und MySQL starten und warten kann.

Dokumentiert ist ebenso alles sehr ausgiebig.

Viel Spass damit.

Gruß
Luca
 

dackel

Mitglied
Mitglied seit
22.10.2003
Beiträge
852
Hey,

eine super geile Sache ist das.

Jetzt kommt das ABER .. ich habe den Apache-Server installiert. Ich möchte aber meine lokalen Seiten weiterhin unter /Benutzer/web-sites/.../speichern.

Im Normalfall kann man in der httpd.conf das Dokument-Verzeichnis ändern. Leider ist der Ordner "Apache2" schreibgeschützt. Das Feld "geschützt" unter "informationen" ist grau hinterlegt, so dass ich das nicht ändern kann.

Gibts da einen Trick??


Bodo
 

lun_IX

Mitglied
Mitglied seit
03.11.2003
Beiträge
693
@bodo:
als root anmelden und mit chmod die Rechte aendern!