Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Skript über PHP-Datei starten

  1. #1
    Registrierter Benutzer
    Registriert seit
    Apr 2015
    Beiträge
    2

    Skript über PHP-Datei starten

    Moin Leute,

    gleich vorweg - der Benutzername ist Programm - ich bin aber sehr Linux-interessiert und habe mit einem meiner ersten Projekte ein Problem, an dem ich 10 Stunden knabbere, was aber vermutlich ganz einfach ist.

    ALSO:
    Ich habe auf meinem Raspberry einen Funkchip installiert, der Funksteckdosen an und ausschalten kann.

    Ich habe 2 Skripte, die – wenn ich sie händisch aufrufe – einwandfrei funktionieren.
    Wenn ich jedoch über den Apache2 (kleine Website) die Buttons klicke, passiert nichts…

    Folgendes passiert oder auch nicht…
    Auf der Website gibt es einen grünen und roten Button (ein und ausschalten). Der grüne ruft 41.php auf. der rote 40.php. (4 für Steckdose 4)
    In den php-Files steht drin, dass er das Skript, das die eigentlichen Befehle zum Schalten enthält, startet.

    Beispiel für 41.php:
    <?php
    shell_exec ('/home/pi/41');
    header("Location:index.html");
    ?>

    (Generell funktioniert php, die Weiterleitung auf die index.html geht auch, sowie phpinfo)

    Das Skript 41, das - wenn ich es manuell aufrufe - eben ja funktioniert (chmod +x), enthält:
    cd /home/pi/wiringPi/raspberry-remote/
    sudo ./send 10101 4 1


    Mein Problem ist nun also, dass z.B. die PHP-Datei 41.php nicht das Skript 41 aufruft.
    Was kann da der Fehler sein? Ich tippe, nach meiner langen Recherche, dass der User WWW-data nicht auf die 41 und 40 zugreifen darf.

    Mir fehlt das knowhow das anzupassen, bzw. konnte es mir bisher nicht aneignen. Könnt ihr mir bitte die vermutlich 1-2 Zeilen schreiben?

    Danke und schöne Ostern
    Grüße,
    Jens

  2. #2
    Gebürtiger C64'er Avatar von gadget
    Registriert seit
    Jul 2004
    Beiträge
    3.513
    Meine spontanen Gedanken:

    Zitat Zitat von linux-noob Beitrag anzeigen
    Wenn ich jedoch über den Apache2 (kleine Website) die Buttons klicke, passiert nichts…
    Irgendwelche Log-Einträge vom Apache?

    Zitat Zitat von linux-noob Beitrag anzeigen
    Ich tippe, nach meiner langen Recherche, dass der User WWW-data nicht auf die 41 und 40 zugreifen darf.
    Dann gib doch mal die Ausgabe von:
    Code:
    ls -l /home/pi/41
    Gruss
    gadget
    Debian GNU/Linux - what else?

  3. #3
    Registrierter Benutzer
    Registriert seit
    Apr 2015
    Beiträge
    2

    Antwort1

    Hi! Danke für die Rückmeldung!

    pi@RAS ~ $ ls -l /home/pi/41
    -rwxr-xr-x 1 pi pi 61 Apr 3 10:48 /home/pi/41

    Log: Ist der Befehl sudo grep GET /var/log/apache2/access.log geeignet? Damit bekomme ich allerhand Zugriffaufzeichnungen. Soll ich das hier als Link posten?

    Danke weiterhin,
    Jens

  4. #4
    Gebürtiger C64'er Avatar von gadget
    Registriert seit
    Jul 2004
    Beiträge
    3.513
    Zitat Zitat von linux-noob Beitrag anzeigen
    -rwxr-xr-x 1 pi pi 61 Apr 3 10:48 /home/pi/41
    Die Datei gehört pi, hat die Aussührrechte aber auch für alle gesetzt.

    Zitat Zitat von linux-noob Beitrag anzeigen
    Log: Ist der Befehl sudo grep GET /var/log/apache2/access.log geeignet? Damit bekomme ich allerhand Zugriffaufzeichnungen. Soll ich das hier als Link posten?
    Fehler findest du in /var/log/apache2/error.log. Wenn du Ausgaben postest, nutze bitte die [code]-Tags.

    Gruss
    gadget
    Debian GNU/Linux - what else?

  5. #5
    Universaldilletant Avatar von fork
    Registriert seit
    Dec 2001
    Ort
    Frankfurt/Main
    Beiträge
    1.175
    Du rufst auf der Konsole das Programm mit sudo auf:

    Code:
    cd /home/pi/wiringPi/raspberry-remote/
    sudo ./send 10101 4 1
    Aus dem Webserver/PHP rufst Du es ohne sudo auf:
    Code:
    shell_exec ('/home/pi/41');
    Vielleicht musst Du es auch aus PHP für sudo konfi-
    gurieren und so aufrufen?

    Fehler findest Du in der apache2 error.log Datei. Also z. B. in
    /var/log/apache2/error.log oder so ähnlich. Mitlaufen lassen
    der Ausgabe beim testen mit diesem Kommando:

    Code:
    tail -f /var/log/apache2/error.log

Ähnliche Themen

  1. snmp problem: skript starten über snmpd
    Von mxpower im Forum Linux als Server
    Antworten: 2
    Letzter Beitrag: 16.02.07, 11:52
  2. SSH-Verbindung über Bash-Datei starten
    Von Stiftmaster im Forum Linux als Server
    Antworten: 7
    Letzter Beitrag: 03.01.06, 08:37
  3. Argumente als Datei an Skript übergeben
    Von michel.r im Forum Linux Allgemein
    Antworten: 4
    Letzter Beitrag: 22.03.05, 18:26
  4. Skript über SSH starten welches weiterlaufen soll
    Von MaDmAsTeR im Forum Linux als Server
    Antworten: 3
    Letzter Beitrag: 20.01.04, 13:11
  5. routing/iptables skript über apache starten
    Von Tomcool im Forum Router und Netzaufbau
    Antworten: 0
    Letzter Beitrag: 29.03.02, 18:21

Stichworte

Lesezeichen

Berechtigungen

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