Stefan Ludwig: php-script wird im Browser nicht ausgeführt...

Hi zusammen,
ich steh momentan ziemlich am Berg. Ich mache gerade meine ersten Versuche mit php klarzukommen. Ich habe einen kleinen Webserver installiert, mit php.

php myscript.php funktioniert tadellos.

Aber leider zeigt der Browser nur den Quelltext an. Das Script hat Zugriffsrecht 755. Ich könnte mir vorstellen, dass es am httpd liegt, aber laut Quellen im Intneret scheint es richtig installiert zu sein.

Hat irgendjemand eine Idee??

Grüsse

  1. Aloha!

    Zu deiner Überschrift: PHP wird nicht im Browser ausgeführt, sondern (wenn alles korrekt installiert und konfiguriert ist) vom _Webserver_!

    php myscript.php funktioniert tadellos.

    Dann geht PHP schon mal.

    Aber leider zeigt der Browser nur den Quelltext an. Das Script hat Zugriffsrecht 755. Ich könnte mir vorstellen, dass es am httpd liegt, aber laut Quellen im Intneret scheint es richtig installiert zu sein.

    Hast du die Endung deiner PHP-Skripte mit dem PHP-Interpreter verbunden? Ist dafür ein Handler eingerichtet?

    Üblicherweise benötigt man dafür solche Zeilen (für Apache) in der httpd.conf:
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php .php3
        AddType application/x-httpd-php .php4
        AddType application/x-httpd-php-source .phps

    - Sven Rautenberg

    1. Hi nochmals

      Zu deiner Überschrift: PHP wird nicht im Browser ausgeführt, sondern (wenn alles korrekt installiert und konfiguriert ist) vom _Webserver_!

      Ooops, natürlich hast Du recht.

      Üblicherweise benötigt man dafür solche Zeilen (für Apache) in der httpd.conf:
          AddType application/x-httpd-php .php
          AddType application/x-httpd-php .php3
          AddType application/x-httpd-php .php4
          AddType application/x-httpd-php-source .phps

      Hatte ich schon vorher drin. Aber an de liegts nicht.
      Ich hab mal ein ganz kleines Script geschrieben:

      <?php
      echo "das ist ein Test"

      Ausgabe in Netscape: Genau der quelltext!
      Ausgabe von >php test.php

      X-Powered-By: PHP/4.0.4pl1
      Content-type: text/html

      Das ist ein test

      Ausgabe von ./test.pl
      ./test.php: ?php: No such file or directory
      Das ist ein test

      Irgendwie hab ich das Gefühl, dass es doch nicht am Webserver liegt... Vielleicht hab ich da allgemein im Server was verbockt...

      Danke für Deine Hilfe bis jetzt und nochmals Grüsse

      1. Üblicherweise benötigt man dafür solche Zeilen (für Apache) in der httpd.conf:
            AddType application/x-httpd-php .php

        Hatte ich schon vorher drin. Aber an de liegts nicht.

        Aber Du hast PHP als Modul in den Server eingefügt? Oder alternativ Dateien mit .php hinten zur Ausführung per CGI festgelegt?

        Welchen Webserver benutzt Du überhaupt?

        Gruß,
          soenk.e

        1. Aber Du hast PHP als Modul in den Server eingefügt? Oder alternativ Dateien mit .php hinten zur Ausführung per CGI festgelegt?

          Welchen Webserver benutzt Du überhaupt?

          Apache, ich hab nur eben bemerkt, dass er die Scripts ausführt, wenn ich die URL mit http://localhost/etc angebe. Vorher hab ich es mit file:/... versucht.

          Leider komme ich an die virtuellen domains nicht local ran. Der Browser meint, er bekäme keine connection.

          Somit stimmt also alles mit dem httpd.conf ...
          Danke für Deine Hilfe
          Grüsse Stefan

          1. Aber Du hast PHP als Modul in den Server eingefügt? Oder alternativ Dateien mit .php hinten zur Ausführung per CGI festgelegt?

            Welchen Webserver benutzt Du überhaupt?

            Apache, ich hab nur eben bemerkt, dass er die Scripts ausführt, wenn ich die URL mit http://localhost/etc angebe. Vorher hab ich es mit file:/... versucht.

            Har har har!

            Leider komme ich an die virtuellen domains nicht local ran. Der Browser meint, er bekäme keine connection.

            Doch, auch sowas geht. Editiere deine hosts-Datei (suche einfach mal nach "hosts", die ist im Windows-Verzeichnis - wenn sie dort nicht ist, ist dort vielleicht eine Datei hosts.sam, die du umbenennen kannst in "hosts." ohne Endung - ansonsten lege einfach eine Datei diesen Namens an), indem du für jeden virtuellen Host den Hostnamen auf die IP 127.0.0.1 legst - oder die IP-Adresse deiner Netzwerkkarte, sofern vorhanden. Nimm keine öffentlich bekannten Namen, sonst kannst du auf die echten Server nicht zugreifen. Empfehlenswert ist z.B., die eigene Top-Level-Domain ".test" zu erfinden - die gibts noch nicht, die ist ideal zum testen. :)

            Mit anderen Worten: In der Hosts-Datei sollte sowas stehen:
            127.0.0.1       localhost
            127.0.0.1       www.webserver1.test
            127.0.0.1       www.webserver2.test

            Und für die beiden Namen "www.webserver1.test" und "www.webserver2.test" richtest du dann auf deinem Apache virtuelle Domains ein - ich hoffe, du weißt, wie das geht. Der benötigte Name steht jedenfalls deutlich im Konfigurationsbereich drin.

            - Sven Rautenberg