Was bedeutet diese Fehlermeldung? (Webserver, PHP Skribt, Musik Bot)

  • Guten Tag liebe Community


    Ich bin dabei eine Webseite zu erstellen (über ein Raspberry Pi 3) bei der man einen Link eingeben kann, welcher dann auf dem Pi geöffnet wird (und später wieder geschlossen). Genauer gesagt soll so jeder im Netzwerk einen Youtube Link eingeben können, den das Pi über ein Soundsystem wiedergibt.


    Nun zu meinem Problem:

    Immer wenn auf meiner Webseite ein PHP Skript ausgeführt werden sollte (der Befehl einen Link zu öffnen), passiert nichts und der LXTerminal gibt folgendes aus:

    (epiphany-browser:1008): GLib-CRITICAL **: Source ID 217829 was not found when attempting to remove it (Wobei die ID variiert)


    Zu meiner Ausstattung:


    Auf meinen Pi läuft Raspian GNU/Linux 9 (stretch)

    Als Webserver verwende ich Apache (Version weiss ich gerade nicht, sollte aber die aktuellste sein)


    Meine HTML-Datei:

    HTML
    <html>
    <body>
    <h1><b><center>Raspberry Pi Musik Bot </center></b></h1>
    <center><form action="link.php">
    <input x="x"> Webadresse<p>
    <input type="submit">
    </form></center>
    </body>
    </html>


    Meine PHP-Datei:

    PHP
    <?php
    shell_exec ('/var/www/html/link.sh');
    header("Location:index.html");
    ?>


    und meine SH-Datei:

    Python
    #!/usr/bin/python
    import webbrowser
    webbrowser.open(x)


    Kennt Jemande diesen Fehler und kann mir helfen? (google konnte es nicht :conf:)


    Vielen Dank im Voraus!:danke_ATDE:

  • Hallo und willkommen im Forum!


    Sieh mal hier: http://wiki.selfhtml.org/wiki/…t/text#type_.3D_.22url.22 

    oder alternativ: http://wiki.selfhtml.org/wiki/…/text#type_.3D_.22text.22 ;)


    Nachtrag: Ich sehe jetzt erst... die Dateiendung spielt zwar bei Linux keine Rolle, aber wieso schreibst Du Python-Code in eine *.sh-Datei?

  • Sorry bitte was?! :conf:



    Meine HTML-Datei:

    • Es fehlt der Doctype
    • Du solltest einen <head> und <title> definieren
    • <center> ist in HTML5 nicht mehr vorhanden
    • <input x="x"> Webadresse<p> was soll das werden?????

    Meine PHP-Datei:

    Wie rufst du die auf?

    und meine SH-Datei:

    Das ist aber Python, hat hyle ja schon gesagt. Sollte demnach mit .py enden. (auch wenn es technisch gesehen keine Rolle spielt, aber gewöhn dir das gar nicht erst an)

    webbrowser.open(x)

    Was wird das?

    Sollte nämlich einen NameError geben, da x nirgends definiert ist.



    Ich befürchte, du weißt nicht wirklich, was du da tust, bzw wie es zu tun ist. Was hast du denn vor?

  • Vielen dank für die Links, werde sie mir direkt mal anschauen! Den Python-Code in eine .sh-Datei schreiben habe ich mir aus einem Tutorial abgeguckt.

  • Danke für die Antwort. Kenne mich nicht wirklich mit HTML und PHP aus und bin daher froh für jeden Tipp!


    Quote
    • <input x="x"> Webadresse<p> was soll das werden?????

    Ich dachte ich könnte so eine Variable x (die URL) definieren welche dann durch die PHP-Datei aufgerufen werden würde (<form action="link.php">).

    Quote

    Ich befürchte, du weißt nicht wirklich, was du da tust, bzw wie es zu tun ist.

    Ja das stimmt eindeutig :D Dies ist mein erstes Raspberry Pi Projekt und ich besitze nur Basic Python sowie minimales HTML Wissen.


    Ich versuche eine Webseite zu erstellen auf der man einen Youtube Link eingeben kann, welcher dann über das Raspberry Pi (welches an ein Soundsystem angeschlossen ist) wiedergegeben wird.

  • Ich versuche eine Webseite zu erstellen auf der man einen Youtube Link eingeben kann, welcher dann über das Raspberry Pi (welches an ein Soundsystem angeschlossen ist) wiedergegeben wird.

    Ein Link an sich kann nicht wiedergegeben werden. Soll die Youtube-Seite im Browser geladen werden? Nur das Video? Nur dessen Sound? in einem Iframe? In einem neuen Tab? Von wo aus wird die Seite bedient? Soll es eine einfache HTML-Seite sein, mit file:// aufgerufen? Oder ein Server, der die HTML-Datei ausliefert?


    Infos bitte ;)

  • Ein Link an sich kann nicht wiedergegeben werden. Soll die Youtube-Seite im Browser geladen werden? Nur das Video? Nur dessen Sound? in einem Iframe? In einem neuen Tab? Von wo aus wird die Seite bedient? Soll es eine einfache HTML-Seite sein, mit file:// aufgerufen? Oder ein Server, der die HTML-Datei ausliefert?


    Infos bitte ;)

    Im besten Fall sollte nur der Sound wiedergegeben werden. Da ich aber keine geeignete Möglichkeit dafür gefunden habe dachte ich, dass es am einfachsten wäre, wenn man mit einem Befehl den Browser und die Webseite öffnet und danach wieder schliesst. Die Seite sollte von anderen Computer im gleichen Netzwerk bedient werden können, daher dachte ich an einen Server.

  • Und muss es unbedingt eine html Seite sein, nur aus dem Unwissen dass man bei einem Skript Aufruf von Python Parameter anhängen kann, welche im Skript wiederum zur Verfügung stehen

    Die HTML Webseite wird benötigt damit andere Nutzer des Netzwerks darauf zugreifen können.

  • Bitte keine Doppelposts


    Vll hilft dir das hier weiter :

    https://github.com/mps-youtube/pafy


    Es gäbe viele Möglichkeiten dies sonst noch umzusetzen.

    Bsp. eigene GUI welche den link entgegennimmt und an den Pi weiterreicht

    Einfaches ablegen einer datei in dem der Link enthalten ist

    usw.


    Mehrere Nutzer.... dann musst du dir auch über die Steurung Gedanken machen, was passiert wenn in einem kleinen Abstand 2 links eingereicht werden, wird der 1. zu einer gespielt, wenn ja, wie kann man dennoch weiter schalten. Wenn nein, darf dann einfach jeder ständig links einreichen und schaltet somit ständig um... und wenn man noch bisschen weiter darüber nach denkt fallen einem noch viel mehr fragen ein

  • Danke für den Link :)


    Klar gäbe es viele Möglichkeiten aber meiner Ansicht nach wäre hier eine HTML Webseite die einfachste Lösung (wenn auch nicht die eleganteste).


    Da ich das ganze sehr simpel halten möchte, werde ich es so machen, dass immer direkt der letzte Link abgespielt wird (wird wohl zu einem Chaos führen aber für den Anfang reicht es aus^^).

  • Klar gäbe es viele Möglichkeiten

    Habe das nur angesprochen, da so wie du es aktuell vor hast

    • HTML
    • PHP
    • Python

    zum Einsatz bringst, was somit wiederrum zwingend einen Pythoninterpreter und Webserver für PHP (wie Apache oder nginx) zum Einsatz holt.

    Bisschen viel für "nur" Link abspielen.

    Eventuell wär für dich noch der Tipp auf Flask oder Django hilfreich, dass würd dann zumindest PHP und den Webserver alias Apache oder nignx weg rationalisieren.