Shell_exec Hilfe +- Sponsor-Board.de (https://www.sponsor-board.de) +-- Forum: Community (/forumdisplay.php?fid=56) +--- Forum: Hilfe (/forumdisplay.php?fid=102) +---- Forum: Scripting (/forumdisplay.php?fid=108) +---- Thema: Shell_exec Hilfe (/showthread.php?tid=49311) |
Shell_exec Hilfe - DjDodo1996 - 03.07.2014 12:55 Ich benötige einmal eure Hilfe. Ich suche Jemanden der In PHP Programmieren kann. Und zwar geht es um Folgendes. Ich benötige ein PHP Script das Server seitig läuft. Es soll per Shell_exec einen Command von einem Linux Server Ausführen. Es handelt sich auf dem Linux Server um einen Shoutcast Transcoder der Gestopt/Gestartet werden soll per Klick eines Buttons. Hier einmal das was ich probiert habe umzusetzen aber nicht gelungen ist. Mir würde es auch reichen wen mir wer Hilft das Script richtig umzusetzen. Script PHP-Code: #!/bin/bash
PHP-Code: <?
PHP-Code: <?
RE: Shell_exec Hilfe - tkausl - 03.07.2014 13:00 Gibts auch eine Frage/Problembeschreibung? Was hast du mit $out vor? Zurzeit ist $out einfach nur.... nutzlos. RE: Shell_exec Hilfe - DjDodo1996 - 03.07.2014 13:02 Das sollte ausgeben ob es Erfolgreicht gestartet/gestopt wurde und da fängt ja dann mein problem an er gibt dann im Browser nur den array(); aus weil ja halt nix declariert ist aber das ding ist ja einfach es Führt ja noch nicht mal die Script datei aus RE: Shell_exec Hilfe - tkausl - 03.07.2014 13:05 Schonmal in die Doku geguckt? [Link: Registrierung erforderlich] PHP-Code: $out = shell_exec("/home/shoutcast/sc_trans_9000/script start 2>&1");
RE: Shell_exec Hilfe - DjDodo1996 - 03.07.2014 13:09 Ja die Doku habe ich mir schon durchgelesen aber habe den PHP Code jetzt umgeschrieben bzw. angepasst und nun kommt folgende Meldung dabei ist die Datei Vorhanden. string(55) "sh: 1: /home/shoutcast/sc_trans_9000/script: not found " RE: Shell_exec Hilfe - tkausl - 03.07.2014 13:16 Da gibts dann wohl nen Problem mit den Dateiberechtigungen. PHP läuft eben nicht mit denen des shoutcast-Servers. RE: Shell_exec Hilfe - DjDodo1996 - 03.07.2014 13:27 Da frag ich mich aber wo wen die auf 777 laufen. Darauf folgt das ich das obere mit String 55 behoben konnte dafür meckert er jetzt Permission denied. string(35 "/home/shoutcast/sc_trans_9000/script: 1: /home/shoutcast/sc_trans_9000/script: /home/shoutcast/sc_trans_9000: Permission denied /home/shoutcast/sc_trans_9000/script: 16: /home/shoutcast/sc_trans_9000/script: cannot create /var/run/sctrans.pid: Permission denied /home/shoutcast/sc_trans_9000/script: 21: /home/shoutcast/sc_trans_9000/script: [[: not found " RE: Shell_exec Hilfe - tkausl - 03.07.2014 14:16 Was läuft auf 777? Die Fehlermeldungen besagen immer noch, dass du nicht genügend Rechte hast. PHP-Code: passthru('whoami');
RE: Shell_exec Hilfe - DjDodo1996 - 03.07.2014 14:25 tkausl schrieb: PHP-Code: passthru('whoami');
Also das Whoami gibt mir folgendes aus. www-data RE: Shell_exec Hilfe - Storage-Base.de - 03.07.2014 14:38 [Link: Registrierung erforderlich] Ich würde dir empfehlen, das Script von jemandem schreiben zu lassen, der Ahnung hat - sonst geht es schnell nach hinten los. Alternativ dazu könntest du auch die PHP Funktion SSH2 mit Public Key nutzen. RE: Shell_exec Hilfe - DjDodo1996 - 03.07.2014 14:41 Alles klar hoffe nur das es Jemanden geben würde der es Kostenlos macht oder mit Copyright Verweis. RE: Shell_exec Hilfe - tkausl - 03.07.2014 15:05 Code: #include <unistd.h>
Kompilier dir das, setz den shoutserver-user als owner und group und setz das setuid-bit: Code: gcc main.c -o app
Danach kannst dus über die app starten und stoppen...
RE: Shell_exec Hilfe - DjDodo1996 - 03.07.2014 15:10 Ja ich wills ja nicht als App haben sondern Als PHP Script RE: Shell_exec Hilfe - tkausl - 03.07.2014 15:13 Du sollst per PHP dann die ./app ausführen, nicht das ./script. RE: Shell_exec Hilfe - DjDodo1996 - 03.07.2014 15:16 Achso das hat sich so gelesen als das ich mir das Als App machen soll dann tut es mir leid. RE: Shell_exec Hilfe - tkausl - 03.07.2014 15:19 app heißt nur die ELF-Datei, kannst sie nennen wie du willst. Das Problem ist nur, dass du auf Textdateien (Scripte) kein SetUID-Bit setzen kannst bzw. es nicht beachtet wird, also brauchst du die Binary als Zwischenschritt. |