Probleme mit Webserver

  • Hallo Raspi-Gemeinde,
    ich bin dabei einen Webserver mit apache2 unter Jessie zum laufen zu bringen.
    Ich habe das bereits unter 2 verschiedenen Raspi's installiert. Nach allen Installationen entsprechend positiv getestet,
    d.h. der apache2 läuft, phpinfo funktioniert, mysqladmin funktioniert. Nun habe ich meine eigene Test-Webseite geschrieben
    und mit php-includes versehen. Leider wird der php-Code nicht interpretiert und ich bin am Ende meines Lateins.
    Hier mal die einfache Testseite:
    <html>
    <head>
    <title>Raspi Webserver</title>
    </head>
    <body >
    <table width="1020" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td colspan="6"> &nbsp; </td>
    </tr>
    <tr >
    <td width="10">&nbsp;</td>
    <td width="190" valign="top" >&nbsp; </td>
    <td width="10">&nbsp;</td>
    <td width="800"> <?php echo "Test" ?></td>
    <td width="10">&nbsp;</td>
    <td width="200">&nbsp;</td>
    </tr>
    </table>
    </body>
    </html>

    Es erfolgt keine Ausgabe des echo-Tags. Ersetze ich den php-Tag mit statischem Text wird die Ausgabe angezeigt.
    Wo liegt den da der Hase im Pfeffer.

    Ich hoffe, mir kann einer dabei helfen.

  • Dann prüf mal das error.log vom apache2 => /var/log/apache2/error.log

    Höchst wahrscheinlich liegt dein Problem an der falschen Syntax... Bei PHP muss jede Zeile mit ; abschließen.

    Falsch:


    Kein Fehler:

    Code
    php -r ' echo "Test"; '

    (die Leerzeichen nach/vor ' sind nicht zwingend notwendig)


  • Dann prüf mal das error.log vom apache2 => /var/log/apache2/error.log

    Höchst wahrscheinlich liegt dein Problem an der falschen Syntax... Bei PHP muss jede Zeile mit ; abschließen.

    Falsch:


    Kein Fehler:

    Code
    php -r ' echo "Bla"; '

    (die Leerzeichen nach/vor ' sind nicht zwingend notwendig)

    Leider nicht die Ursache, habe ich bereits alles probiert.
    Ebenso das Einfügen von php-Dateien.

    Über die Console erfolgt keine Ausgabe, weder mit ; noch ohne

    Einmal editiert, zuletzt von rahe288 (22. November 2016 um 17:31)

  • Du musst aufpassen, dass du nicht z.B.

    Code
    ...
    echo "<table width="1020"  border="0" cellpadding="0" cellspacing="0">";
    ...


    sondern

    Code
    echo '<table width="1020"  border="0" cellpadding="0" cellspacing="0">';
    echo "<table width='1020'  border='0' cellpadding='0' cellspacing='0'>";
    echo "<table width=\"1020\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";


    schreibst.

    Also entweder bei den Echos die Ausgabe in einfachen Anführungszeichen fassen, dann kann der Text doppelte haben, oder andersrum, oder die Doppelten im Text mit jeweils einem Backslash maskieren.

    Willst du im Quelltext das mit Zeilenumbrüchen besser lesbar darstellen, so musst du für einen Zeilenumbruch im Quelltest vor das "; ein \n schreiben.
    also z.B.

    Code
    echo "<table width='1020'  border='0' cellpadding='0' cellspacing='0'>\n";

    Die <br> liefern nur bei der Ausgabe auf der Webseite Zeilenumbrüche.

    Computer ..... grrrrrr

    Einmal editiert, zuletzt von Rasp-Berlin (22. November 2016 um 17:26)

  • Bitte nicht Beiträge vollständig quoten/zitieren, vor allem wenn diese genau da drüber stehen.


    FAQ => Nützliche Links / Linksammlung => HowTo: CODE / PHP Code im Forum posten


    Zentris: [code=php]<td width="800"> <?php echo "Test" ?></td>[/php]


    rahe288: Wie heißt die Datei in dem dein Code steckt?

    Standardmäßig werden nur *.php* Dateien von PHP verarbeitet. Wenn deine Datei also auf *.html endet dann wird diese auch nicht vom PHP Interpreter verarbeitet.

  • PHTML-Dateien werden auch geparst. So nenne ich meine Dateien wie in diesem Fall hier, die in der Mehrheit HTML-Code enthalten, aber eben auch kleine Schnipsel PHP drin haben.


  • Die Datei ist die normale Index.html. Ich habe das aber bereits mit index.php versucht
    und auch eine php-Datei mit anderen Namen versehen. Ohne Erfolg.

    Dann poste doch mal bitte deine komplette .php Datei in der [Code] Ansicht. Mit einer normalen .html Datei wirst du kein Glück haben.

    Einmal editiert, zuletzt von doing (22. November 2016 um 17:46)


  • Die Datei ist die normale Index.html. Ich habe das aber bereits mit index.php versucht
    und auch eine php-Datei mit anderen Namen versehen. Ohne Erfolg.

    Das macht langsam aber kein Sinn mehr.... Wenn phpinfo.php funktioniert ebenso wie phpMyAdmin, dann muss auch eine index.php funktionieren.

    Was aber definitiv nicht funktioniert: index.html mit enthaltenem php Code.

    => http://raspberrypi.roxxs.org/test/rahe288.php
    => http://raspberrypi.roxxs.org/test/rahe288.html

    Siehst du den Unterschied?

    Was du jetzt also bitte machst:

    1) Deine Datei in index.php umbenennen
    2) Explizit diese Datei aufrufen / ansurfen: http://raspberrypi/index.php


    Das zweite ist deshalb wichtig sofern noch eine index.html in dem Verzeichnis liegt, die wird Standardmäßig nämlich bevorzugt. Wenn du also nicht explizit eine Datei aufrufst greift die Bevorzugung.

  • Hallo doing,

    ich muss zu dem ganzen Problem sagen, dass ich eigentlich Webprogrammierer bin, aber hauptsächlich
    unter Windows programmiert habe.
    Ich bin also kein Linux-Spezialist und habe mich erst jetzt als Rentner mit dem Raspi beschäftigt.
    Leider fehlen mir bei Linux vielleicht noch ein paar Kenntnisse, die hier anders als bei Windows liegen.


  • ich muss zu dem ganzen Problem sagen, dass ich eigentlich Webprogrammierer bin, aber hauptsächlich
    unter Windows programmiert habe.
    Ich bin also kein Linux-Spezialist und habe mich erst jetzt als Rentner mit dem Raspi beschäftigt.
    Leider fehlen mir bei Linux vielleicht noch ein paar Kenntnisse, die hier anders als bei Windows liegen.

    Sorry aber das hat nicht allzu viel mit Windows oder Linux zu tun ;)

    Auch unter Windows konfiguriert man den Webserver. Auch IIS kann so konfiguriert werden das *.html nicht vom PHP Interpreter verarbeitet wird - was glaub ich ebenfalls standardmäßig der Fall ist: https://msdn.microsoft.com/de-de/library/…spx#Install_PHP ab 11.

    apache2 gibt es auch für Windows - da ist das ebenfalls nahezu identisch zur Linux Version.


    Datei "testphp.php" und mit dem Aufruf http://xxx.xxx.xxx.xxx/testphp.php nicht funktioniert.

    Du hast also jetzt eine Datei /var/www/html/testphp.php mit dem Inhalt aus Beitrag#1 aber dir wird nichts angezeigt?
    Dann prüfe/poste bitte besagtes error.log

    Code
    cat /var/log/apache2/error.log

    (Ausgaben bitte in CODE posten)
    Wenn du PuTTY nutzt kannst du den Text einfach mit der linken Maustaste markieren, dann wird dieser automatisch in die Zwischenablage kopiert. Hier dann einfach in CODE-Blöcke einfügen.


  • Nun habe ich meine eigene Test-Webseite geschrieben und mit php-includes versehen. Leider wird der php-Code nicht interpretiert und ich bin am Ende meines Lateins.

    In deiner Testseite konnte ich keinen php include() entdecken, daher meine Bitte doch mal den kompletten Code zu posten. Sonst kann man nicht sehen, was da sonst noch im Argen liegt.

  • Zitat von doing


    In deiner Testseite konnte ich keinen php include() entdecken, daher meine Bitte doch mal den kompletten Code zu posten. Sonst kann man nicht sehen, was da sonst noch im Argen liegt.


    Auch für dich ;)



    Es ist keinPHP-Befehl include(), sondern ein Codeschnipsel PHP

    MfG

    Einmal editiert, zuletzt von flyppo (22. November 2016 um 18:34)


  • Es ist keinPHP-Befehl include(), sondern ein Codeschnipsel PHP

    Ich habe keine Ahnung was dein Hinweis soll, flyppo - der TE schrieb im Eingangspost etwas von einem php include und der ist nicht vorhanden. Das was da zu sehen ist, ist ein php echo...

    Ein include wäre etwas wie ein

    Code
    include('eine-andere-datei.php');

    Einmal editiert, zuletzt von doing (22. November 2016 um 18:52)

  • Ich glaub das war nur eine falsche Ausdrucksweise von rahe288 ... Er hat halt PHP Code included - eben eingefügt... Nicht include(); verwendet.


    Trotzdem wärs gut den aktuellen Code in entsprechenden CODE-Blöcken noch mal zu sehen

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!