Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Suse8.2 apache2, ? phpinfo(); ? funktioniert aber einfache echo-Befehle nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.01.2003
    Beiträge
    12

    Suse8.2 apache2, ? phpinfo(); ? funktioniert aber einfache echo-Befehle nicht

    Hallo,

    habe Suse8.2, apache2 und php PHP Version 4.3.2.
    Wenn ich folgende Seite mit gestartetem apache 2 Server aufrufe, dann erscheint
    die php Infoseite, wie sie erscheinen muß.

    hauptrechner:/opt/apache2/htdocs # cat test.php
    <html>
    <head>
    <title>Status PHP 4</title>
    </head>
    <body>
    <? phpinfo(); ?>
    </body>
    </html>
    hauptrechner:/opt/apache2/htdocs #

    Wenn ich aber folgende Seite aufrufe

    hauptrechner:/opt/apache2/htdocs/php_test # cat index.html
    <html>
    <head>
    <title>Titel</title>
    </head>

    <body>
    <?
    echo 123 + 234;
    echo "<br>";
    echo "Textausgabe <br>";
    echo date("Y");

    ?>
    </body>
    </html>


    dann erhalte ich folgende Ausgabe im Browser:

    "; echo "Textausgabe
    "; echo date("Y"); ?>

    und sonst gar nichts.

    Was habe ich falsch gemacht? Ich hab das Beispiel aus meinem PHP-Buch abgeschrieben.
    Läuft bei mir php nicht richtig, obwohl die phpinfo-Seite funktioniert?

    mfG
    N.

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    habe Suse8.2, apache2 und php PHP Version 4.3.2.
    wenn du nicht mod_php hast, dann solltest du "#!/usr/bin/env php" in die 1. Zeile schreiben

    evtl noch statt <? ... ?> <?php ... ?> verwenden.

    wie schaut von der Seite eigentlich der Quelltext aus (im Browser)

    mfg

    c.

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.07.2001
    Beiträge
    144
    Hallo,

    nenn die index.html einfach index.php. In html-Seiten wird normalerweise kein PHP-Code ausgeführt (außer man schreibt dies extra in die httpd.conf).

    Offe

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    Original geschrieben von offe
    Hallo,

    nenn die index.html einfach index.php. In html-Seiten wird normalerweise kein PHP-Code ausgeführt (außer man schreibt dies extra in die httpd.conf).

    Offe
    1) so wie ich das verstanden habe soll der Code ausgefuehrt werden

    2) .php files werden auch nur ausgefuerhrt, wenn es "extra" in der http.conf steht

    mfg

    c.

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.01.2003
    Beiträge
    12
    Hallo,

    danke für Eure Antworten, ich habe die Datei in index.php umgeändert.
    Jetzt funktioniert es.

    Nur eine Frage zu dem Eintrag in der httpd.conf.
    Ist auf den apache-Servern im Internet auf denen php läuft diese Option in der httpd.conf immer aktiviert, daß in normalen html-Seiten auch php-Code ausgeführt wird?

    Und wenn es auf dem Server nicht aktiviert ist, heißen dann diese Dateien statt index.html immer index.php?

    Oder gibt es auch eine Möglichkeit dies im <head></head> Teil einer html-Seite
    festzulegen?

    mfG
    N.

  6. #6
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo!

    Bei den meisten Providern sind sowohl .php als auch .php3 entweder mod_php oder PHP als CGI zugeordnet. .html oder .htm PHP zuzuordnen wäre selbstverständlich möglich, genauso wie z.B. .phps (gibt es auch bei manchen Providern). Dies würde allerdings zu Performance Einbußen führen, da jede angefragte statische HTML Seite erst noch vom PHP Prozessor geparsed werden würde, obwohl klar ist, dass es sich um eine Seite ohne PHP Inhalt handelt.
    In der Seite selbst können keine Einstellungen verändert werden, da der Webserver die Seiten liefert, ohne deren Inhalt zu prüfen - eine Zuordnung zu Skriptinterpretern ist nur über die Dateieendung möglich.

    Gruß,

    Gaert


  7. #7
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    oder PHP als CGI zugeordnet.
    das ist IMHO nicht ueblich. wenn schon CGi, dann werden die Daten einfach ausgefuerht. in diesen fall muss das File mit einem #! beginnen... oder?

  8. #8
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Original geschrieben von sagi
    das ist IMHO nicht ueblich. wenn schon CGi, dann werden die Daten einfach ausgefuerht. in diesen fall muss das File mit einem #! beginnen... oder?
    Du kannst PHP auch folgendermaßen als CGI einbinden (hab jetzt nur die Windows install.txt da, weil ich grad @ work bin)

    ScriptAlias /php/ "c:/php/"
    AddType application/x-httpd-php .php
    Action application/x-httpd-php "/php/php.exe"

    Auf diese Weise ist es möglich mehrere PHP Versionen gleichzeitig laufen zu lassen, denn mod_php kann nur einmal eingebunden werden.

    Alternativ kann man es natürlich auch mit suEXEC einbinden, dann muss die Shebang vor jedem Script stehen.


  9. #9
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    ah. cool. wusste ich gar nicht. thx

    mfg

    c.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •