[Gelöst] Komisches Verhalten mit header Location bei PHP7.3

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Moin, ich habe meinem Pi2 eine neue SD gegönnt und natürlich erst mal das neueste Image draufgespielt, alle Updates ...

    Jetzt das merkwürdige, ich habe eine index.php mit dem Inhalt:

    Code
    <a href="../strom_an.php"><img src="../licht_an.jpg" width="400" height="400"></img></a>
    <a href="../strom_aus.php"><img src="../licht_aus.jpg" width="400" height="400"></img></a>

    und 2 Dateien, strom_an.php und strom_aus.php

    PHP
    <?php
    shell_exec ('sudo /var/www/html/pins/5an.sh');
    header('Location:index.php');
    exit;
    ?>
    PHP
    <?php
    shell_exec ('sudo /var/www/html/pins/5aus.sh');
    header('Location:index.php');
    exit;
    ?>

    Als noch Stretch mit PHP7.0 drauf war, hat das wunderbar geklappt, jetzt mit Buster und PHP7.3 bekomme ich eine weiße Seite, er hängt bei strom_an.php und leitet mich nicht mehr weiter auf die index.php. Wenn ich auf Licht aus klicke, leitet er mich brav wieder auf die index.php. Das witzige ist, dass es mit meinem Android-Smartphone geht, auch mit w3m, jedoch nicht mit Firefox an meinem Netbook mit Win10. :-/ :denker: :conf:

    In den Logs steht nichts besonderes drin, die Dateien gehören alle www-data, ich weiss nicht mehr weiter. :helpnew:

    Woran könnte das liegen ?

  • Also bei an hängt der fest, aber bei aus funktionierts? :conf:

    Genau, das ist ja das merkwürdige, mit w3m sehe ich zwar keine Bilder, aber beim klicken auf den Link gehts, auch mit dem Smartphone mit Bildklick.

    Aber mit dem Netbook mit Win10 wills nicht mehr angehen, nur noch aus.

    Btw. www-data und sudo ist nicht gut. besser www-data in die Gruppe gpio, wenns nur im Heimnetz ist!

    Ich weiss. ;)

    • Official Post

    Wirklich komisch!


    Aber was warum läufts mit aus, aber nicht mit an? Was unterscheidet beide Skripte, ausser den Befehlen für an und aus natürlich? Haben beide Ausgaben und falls ja, könntest Du die mit nach /dev/null umleiten mal testen?

  • Also aus den access-Logs mit Firefox index.php aufgerufen und auf licht_an geklickt:

    Code
    192.168.0.101 - - [13/Sep/2020:13:11:21 +0200] "GET / HTTP/1.1" 200 824 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0"

    Scheint nicht anzukommen.

    Das gleiche mit licht_aus:

    Code
    192.168.0.101 - - [13/Sep/2020:13:16:29 +0200] "GET /strom_aus.php HTTP/1.1" 302 228 "http://192.168.0.31/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0"
    192.168.0.101 - - [13/Sep/2020:13:16:31 +0200] "GET /index.php HTTP/1.1" 200 824 "http://192.168.0.31/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0"

    Mit Chrome index.php und licht an:

    Code
    92.168.0.101 - - [13/Sep/2020:13:18:24 +0200] "GET / HTTP/1.1" 200 823 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safar$
    192.168.0.101 - - [13/Sep/2020:13:18:30 +0200] "GET /strom_an.php HTTP/1.1" 302 228 "http://192.168.0.31/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Ge$
    192.168.0.101 - - [13/Sep/2020:13:18:31 +0200] "GET /index.php HTTP/1.1" 200 823 "http://192.168.0.31/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko$

    Scheint anzukommen. :denker:

    Mit dem Smartphone Chrome auf index.php und licht_an:

    Code
    192.168.0.115 - - [13/Sep/2020:13:20:52 +0200] "GET /strom_an.php HTTP/1.1" 302 229 "http://192.168.0.31/index.php" "Mozilla/5.0 (Linux; Android 10; Nokia 2.1) AppleWebKit/537.36 (KHTM$
    192.168.0.115 - - [13/Sep/2020:13:20:54 +0200] "GET /index.php HTTP/1.1" 200 823 "http://192.168.0.31/index.php" "Mozilla/5.0 (Linux; Android 10; Nokia 2.1) AppleWebKit/537.36 (KHTML, $

    Mit Firefox aufm Smartphone kann ich gerade nicht testen, weil Firefox nach Update auf Android 10 nicht mehr geht.

    Ausgaben gibts keine.

  • Mir ist so ein Verhalten mit gif Bildern aufgefallen mit verschiedenen Browsern auf android, da muss mal den cache der App löschen und schon wird das richtige gif angzeigt. Kann es sein das <Alt> <F5> hilft (<Strg> <F5>) Browser Cache von Firefox löschen. Ich denk eher nicht, will es nur schreiben.

  • Alles leer, ausser bei Konsole:

    Quote

    Die Zeichenkodierung des HTML-Dokuments wurde nicht deklariert. Das Dokument wird in manchen Browser-Konfigurationen mit verstümmeltem Text dargestellt, wenn das Dokument Zeichen außerhalb des US-ASCII-Bereichs enthält. Die Zeichenkodierung der Seite muss im Dokument oder Transferprotokoll deklariert werden. strom_an.php

    Source-Map-Fehler: Error: NetworkError when attempting to fetch resource.

    Ressourcen-Adresse: moz-extension://bd353349-c40b-476c-a580-245eb99f3ec9/content/js/purify.min.js

    Source-Map-Adresse: purify.min.js.map

  • Ah, nochmal aktualisieren, dann kommt was, aber für mich nichts hilfreiches.

    Ich gebe es auf und setze auf "Gelöst", es liegt an Firefox. :auslachen::baeh2:

    Danke für die Hilfe :danke_ATDE::bravo2:

    • Official Post

    Aber was warum läufts mit aus, aber nicht mit an? Was unterscheidet beide Skripte, ausser den Befehlen für an und aus natürlich?

    Btw. Funktioniert ein meta refresh? Mir ist klar, dass man das nicht mehr machen sollte, aber Versuch macht klug.


    PHP
    echo "<html>
    <head>
    <title>Weiterleitung</title>
    <meta http-equiv=\"refresh\" content=\"2; URL=index.php\">
    </head>
    <body>
    <p>Weiterleitung zum <a href=\"index.php\">Index</a></p>
    </body>
    </html>";


    //Edit: Arrr.. Ist ja PHP, dann kann man den HTML-Teil auch in Klartext schreiben.