Nixblicker: apache2, php5 mit Debian Lenny tutorial-script "geht nicht" :-/

Hi. Ich hab zwar viel rumgegoogelt, aber hilft nix.
Ich muß jetzt hier mal ganz dumm und auf Kindergartenniveau fragen, hab nämlich leicht den Überblick verloren, aaalso.

Mein Ziel ist es, auf die Datenbank (mySQL) einer Bibliothekssoftware zuzugreifen, und daraus einzelne Tabellen in eine ordentliche html oder xml-Datei umzuwandeln, die dann ausruckbar sein soll.

Ich hab hier auf meinem Rechner Debian Lenny, und habe nacheinander MySQL, phpmyadmin (und damit einhergehend, dank Abhängigkeit) apache2 und php5 installiert.
So halbwegs Basiskenntnisse von html hab ich - jetzt wollt ich also mithilfe eines kleinen php-tutorials mir mal angucken, wie das so funktioniert, um dann am Ende ->
in html-Seiten eingebettet Anfragefunktionen für die MySQL Datenbank zu starten.

Problem: Nicht mal das allererste mini-php-Tutorial bringt mir die Ausgabe, die es eigentlich soll.
Vielleicht kann mir jemand kurz erklären, wo der Fehler liegt, ob am apache2 oder wo?

Das skript lautet:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>Hi all</title>
    </head>
    <body>
        <?php
            echo "<p>Der PHP Code</p>\n";
        ?>
    </body>
</html>

Wenn ich das als zB test.php in mein home-Verzeichnis abspeichere und in opera aufrufe wird folgendes ausgegeben:

Der PHP Code\n"; ?>

Ist das Problem, daß php nicht geparset wird, oder liegt die Datei im falschen Verzeichnis? Habe ich ein wichtiges Paket nicht installiert? Muß ich in der apache2-Konfiguration was ändern? Liegt's an opera?

Uff, falls jemand was weiß, wär ich sehr dankbar.

Viele Grüße,
Nixblicker

  1. Hallo!

    Wenn ich das als zB test.php in mein home-Verzeichnis abspeichere und in opera aufrufe wird folgendes ausgegeben:

    Du musst die PHP Datei auch im htdocs Ordner vom Webserver speichern nicht in deinem Home verzeichnis.

    --
    LG,
    Snafu
    1. Hallo!

      Wenn ich das als zB test.php in mein home-Verzeichnis abspeichere und in opera aufrufe wird folgendes ausgegeben:
      Du musst die PHP Datei auch im htdocs Ordner vom Webserver speichern nicht in deinem Home verzeichnis.

      Danke Dir für die Antwort!
      Hi. Habe nun mal mit locate (und vorher updatedb) nach htdocs geguckt - kein Ergebnis. Kann das ein anderer Ordner sein? Apache2-Version ist 2.2.8
      /var/www ?

      1. Hi Nixblicker,

        Hi. Habe nun mal mit locate (und vorher updatedb) nach htdocs geguckt - kein Ergebnis. Kann das ein anderer Ordner sein? Apache2-Version ist 2.2.8
        /var/www ?

        Ja, in /var/www musst du deine Datei test.php legen, und dann musst du sie mit einem Browser über http://localhost/test.php aufrufen, machst du das genau so?

        Wenn dem so ist, dann führe mal folgenden Befehl aus:

        apache2ctl -t -D DUMP_MODULES 2>&1 | grep php

        Damit sollte dir das PHP-Modul angezeigt werden, wird es das?
        Sind in modules-enabled die zwei Dateien php5.conf und php5.load verlinkt?

        ls -la /etc/apache2/modules-enabled/ | grep php

        sollte dir diese anzeigen. Sollten diese beiden Links fehlen, so ist PHP nicht aktiviert, was du unter Debian mit

        a2enmod php5

        erreichen kannst.

        Viele Grüße,
          ~ Dennis.

        1. Hi Dennis,

          Also die Module gibts, sind in /etc/apache2/mods-enabled/

          ich hab mein testfile nach /var/www/ kopiert, dort liegt auch noch ne "it works"- index.html
          So, wenn ich das im browser mit file://usw. usf. aufrufe, dann bekomme ich mein test-script als text, die index-datei als html angezeigt.
          Wenn ich's aber als http://usw. usf. aufrufe, kommt folgende Meldung:

          The requested URL /var/www/index.html was not found on this server.
          Apache/2.2.8 (Debian) PHP/5.2.5-2 with Suhosin-Patch Server at localhost Port 80

          ???

          1. Hallo Nixblicker,

            ich hab mein testfile nach /var/www/ kopiert, dort liegt auch noch ne "it works"- index.html
            So, wenn ich das im browser mit file://usw. usf. aufrufe, dann bekomme ich mein test-script als text, die index-datei als html angezeigt.

            das wird auch nicht über den Webserver ausgeliefert.

            Wenn ich's aber als http://usw. usf. aufrufe, kommt folgende Meldung:

            The requested URL /var/www/index.html was not found on this server.
            Apache/2.2.8 (Debian) PHP/5.2.5-2 with Suhosin-Patch Server at localhost Port 80

            Du forderst ja auch was Falsches an:
            Wenn Du die Datei als

            /var/www/phpinfo.php

            gespeichert hast, dann kannst Du sie im Browser Deines Debian-Rechners über

            http://localhost/phpinfo.php

            aufrufen. Funktioniert bei meinem Etch mit apache 2.2.3 und PHP 5.2.0.xyz prima.
            Da mein Rechner auch debian.home heißt und ich keine virtuellen Hosts eingerichtet hab, geht das auch über

            http://debian.home/phpinfo.php

            Von meiner Windows-Kiste geht das erst, wenn ich der (z.B. über die hosts-Datei oder einen Nameserver) klargemacht, unter welcher IP-Adresse der Rechner debian.home zu erreichen ist.

            Freundliche Grüße

            Vinzenz

            1. Oh Mann...

              Vielen Dank!

              Das ganze Rumgewurstele und Recherche, da verlier ich schon mal den Überblick. Schön daß ich's vorm insbettgehen noch kapiert hab, kann ich morgen vllt. noch n bißchen produktiv werden :-)

              1. Hallo

                Vielen Dank!

                bitte, gerngeschehen. Und den Dank gern entgegengenommen.

                Das ganze Rumgewurstele und Recherche, da verlier ich schon mal den Überblick.

                sowas passiert anderen auch.

                Freundliche Grüße

                Vinzenz

  2. echo $begrüßung;

    Ist das Problem, daß php nicht geparset wird,

    Ja, das ist sehr wahrscheinlich. Ein PHP-Test lässt sich recht einfach mit einer Datei mit dem Inhalt

    <?php phpinfo();

    durchführen. PHP gibt dann jede Menge Informationen über sich. Natürlich nur wenn es läuft.

    oder liegt die Datei im falschen Verzeichnis?

    Das wäre eine Möglichkeit. Im Allgemeinen ist das PHP so in den Apachen eingebunden, dass sich PHP-Scripte (fast) überall innerhalb des Documentroot ausführen lassen.

    Habe ich ein wichtiges Paket nicht installiert?

    Kann sein. Schau mal, ob es mod_php gibt, oder ein Paket, das mod und php irgendwo im Namen hat. Aber wenn schon Apache und PHP als Abhängigkeit aufgeführt werden, dann sollte das auch so installiert werden, dass es sinnvoll ist.

    Muß ich in der apache2-Konfiguration was ändern?

    Sollte nicht erforderlich sein. Hast du eigentlich mal den Apachen neu gestartet? Wenn der von der Installation selbständig gestartet wurde, und dann erst das PHP dazuinstalliert wurde, ist es vielleicht nur noch nicht aktiviert.

    Liegt's an opera?

    Nein. Man könnte da eine Abhängigkeit provozieren, aber davon ist in dem Fall nicht auszugehen.

    echo "$verabschiedung $name";

    1. Moin. Auch Dir vielen Dank für's schnelle Antworten.

      <?php phpinfo();

      Also wenn ich das in ner datei namens zb info.php abspeichere und (im browser) aufrufe, bekomme ich das quasi als textfile angezeigt.
      Das Paket libapache2-mod-php5 ist auch da und den apache hab ich schon mehrfach gestarter und er läuft auch (testseite wird korrekt angezeigt).

      Wie krieg ich da jetzt was geparsed?

      Schönen Gruß,
      NB

      1. echo $begrüßung;

        <?php phpinfo();
        Also wenn ich das in ner datei namens zb info.php abspeichere und (im browser) aufrufe, bekomme ich das quasi als textfile angezeigt.
        Das Paket libapache2-mod-php5 ist auch da und den apache hab ich schon mehrfach gestarter und er läuft auch (testseite wird korrekt angezeigt).

        Da hat offensichtlich der Apache keine Lust, diese Datei bzw. Dateien mit dieser Endung dem PHP zu übergeben.

        Wie krieg ich da jetzt was geparsed?

        An dieser Stelle muss ich leider passen, da ich den Debian-Weg, dies zu konfigurieren, nicht kenne.

        echo "$verabschiedung $name";