PHP Skript funktioniert nicht richtig

  • Hi,


    "ich" habe folgenden Code geschrieben bzw. für meine Bedürfnisse abgeändert:



    Wenn ich das Skript mit dem ersten Link aufrufe, wird lediglich der GPIO Port 17 an bzw. ausgestellt. Mit dem GPIO 24 Pin passiert hingegen nichts.
    Warum ist das so?


    Liebe Grüße

  • Ich denke der Fehler ist etwas ganz banales, immerhin funktioniert es bereits halb.


    Ich habe, wie von die empfohlen, jetzt ein wenig gegoogelt. Allerdings wirft das mehr Fragen auf als es beantwortet :D
    Ich würde mir gerne die ganze Tipperei sparen und dem Webserver direkt Root Rechte geben, schließlich habe ich eh
    nur Zugriff darauf über mein Heim Netzwerk. Aber wie genau mache ich das?

    Edited once, last by RapidBird6021 ().

  • Grundsätzlich erhält dein Webserver Root-Rechte, indem du den User (möglicherweise www-data? das musst du aber selbst rausfinden) zum /etc/sudoers file hinzufügst

    Code
    sudo visudo


    und dann am Ende die Zeile

    Code
    www-data ALL=(ALL) NOPASSWD: ALL


    hinzufügen.


    Ich würde dir aber raten, auch wenn das ganze nur in deinem Heimnetz läuft, den Zugriff nur auf die Dateien einzuschränken, die dein Webserver auch tatsächlich braucht.
    Also Ändere die letzte Zeile in

    Code
    www-data ALL=(ALL) NOPASSWD: /pfad/zu/einem/script, /pfad/zu/einem/anderen/script


    Der Vorteil davon das jetzt richtig zu machen ist, dass du beim nächsten mal, wenn du dem Webserver aus Sicherheitsgründen nicht einfach so volle Root-Rechte geben kannst, weißt wie das geht.


    Grüße

  • Wie gesagt, Forumsuche nach: sudo webscript
    Ich sprach nicht von Google sondern von Forumsuche.


    Wenn das aber bereits zu viel/anstrengend ist, dann haben wir hier im Forum auch einen FAQ Bereich - denn das wird recht häufig gefragt - mit einem Beitrag " Nützliche Links / Linksammlung " in dem exakt dieser "sudo webscript" verlinkt ist -> Befehle über PHP mit root Rechten ausführen


    Dann sparrt man sich nämlich auch jeden Befehl in visudo einzutragen...


    Aber du solltest auf jedenfall nicht deiner Faulheit unterliegen und stumpf den Webserver als root laufen lassen - machst du dann nur einen kleinen Fehler in deinen PHP Scripts zerschießt du dir das ganze System weil der ja überall schreiben darf usw...


    Ich versteh aber auch nicht deine Faulheit. Organisiert man seine Scripts von Anfang an vernünftig kann man sich viel unnötige Tipperrei/Arbeit sparen.



    Davon abgesehen hat Dein PHP Problem nichts damit zu tun ob du den Webserver über root laufen lässt oder sudo verwendest oder was auch immer - der erste Befehl wird ja laut Deiner Aussage ausgeführt.


    Was ich allerdings weiterhin bemängel ist der PHP Code ansich. Von jemandem Kopiert der damit ebenfalls Probleme hatte. Aus Faulheit copy&paste. Mit Befehlen die nicht wirklich zurückgeben ob es ein Problem gab. Ohne Code um zu prüfen ob es ein Problem gab.
    Das alles wird ersichtlich wenn du meinen Beitrag bezüglich sudowebscript.sh liest. Denn da verwende ich ein Befehl mit dem man das alles erkennen kann. Da werte ich auch mögliche Probleme aus und muss nicht Raten woran es evtl. liegen könnte.