PHP exec

Status
Für weitere Antworten geschlossen.

Maestro_81

Benutzer
Mitglied seit
31. Jan 2010
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich weiß, das Thema wurde schon ein paar mal hier im Forum angesprochen, aber bei den gefundenen / durchgelesenen Beiträge war nix hilfreiches dabei.

Ich hab eine php-Datei mit einem exec()-Befehl, der nicht ausgeführt wird - Der Befehl wird einfach ignoriert. Mit XAMPP und localhost in einem anderen Netzwerk funktioniert das Ganze. Es soll nur eine mp4-Datei ausgeführt werden, die auf einem Volume der DS liegt (hab auch probiert, dass ich sie wo anders hinlege, aber geht auch nicht)

In der /usr/syno/etc/php.ini hab ich schon reigeschaut.
Unter "open_basedir =" steht nichts
Unter "disable_functions =" steht nichts
Uner "safe_mode_exec_dir =" steht nichts

In der /usr/syno/etc/php/user-setting.ini hab ich schon reingeschaut.
Unter "open_basedir =" steht nichts

DS wurde selbstverständliche neu gestartet

safe_mode in der grafischen Oberläche der DS ist natürlich aus (sonst würde auch eine Fehlermeldung kommen)
Verwendet wird die 409+ mit der DSM 3.2

Vielleicht hat noch jemand ne Idee.
DANKE schon mal

LG
Chris
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hast du denn das error-reporting und die Anzeige von PHP Fehlern aktiviert? Und bei open_basedir sollte afaik was stehen
 

Maestro_81

Benutzer
Mitglied seit
31. Jan 2010
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Unter Webdienste ist der Punkt "display_errors aktivieren, um PHP-Fehlermeldungen anzuzeigen" eingeschalten. Er funktioniert auch (bei anderen Fehlermeldungen usw.) An der PHP-Datei an sich darf es auch nicht liegen, da ich gestern auch extra nochmal ausprobiert habe, dass ich die selbe Datei, die auf der DS liegt mit dem XAMPP "geöffnet" habe und dort funktioniert alles einwandfrei.
Zum Error-Reporting:
Unter Systeminformationen - Protokoll wurde alles durchgeschaut. Wies aber nichts auf eine Fehlermeldung bzw. auf das aktuelle Problem hin (oder gibts hierzu noch ein Reporting?)
Zum "open_basedir":
Hab ich mir auch gedacht und die Varianten "= none" oder nur "none" ausprobiert (ist in div. anderne Beiträgen beschrieben) half leider auch nichts.

Was mich stutzig macht ist, dass er erst gar nicht versucht, nach der angegebenen Datei zu suchen.
Bsp.: exec ('c:\123.mp4)
Der DS ist es egal, ob es die Datei gibt oder nicht.
Hab auch probiert, dass ich die mp4-Datei im selben Ordner wie die php-Datei lege (in den von der DS erstellen WEB-Ordner), aber das Ergebnis bleibt das Selbe. Keine Reaktion vom exec-Befehl.
Was ich auch noch geselesen habe ist, dass es ein Rechteproblem sein könnte. Ist es möglich, dass man den Apache der DS Rechte auf alles gibt?
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Und wie kann eine DS (mit Linuxfilesystem) denn exec ('c:\123.mp4) finden?? Das ist doch ein Windows Pfad
 

Maestro_81

Benutzer
Mitglied seit
31. Jan 2010
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Meine DS findet den Pfad auch nicht. Aber sie findet den Pfad auch nicht, wenn die mp4 aufm NAS direkt neben der php-Datei liegt.
Außerdem sollte es egal sein, wo die Datei liegt. Auslesen von Ordner funktioniert ja auch :)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
wie sieht denn die PHP-Strecke aus? Kannst den Schnippsel grad mal reinstellen ... vermutlich wird der exec() schon ausgeführt ...

Itari
 

thedude

Benutzer
Mitglied seit
30. Nov 2009
Beiträge
2.244
Punkte für Reaktionen
2
Punkte
84
Wobei sich mir immernoch die Frage stellt, was bei "exec('datei.mp4');" passieren soll...

gruss
dude
 

Maestro_81

Benutzer
Mitglied seit
31. Jan 2010
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
die PHP-Datei filme_abspielen.php liegt aus Netzwerksicht unter:
\\meine-DS\web\Intranet\Filme
und von der DS-Sicht unter:
volume1/web/Intranet/Filme
Die zu abspielende Testdatei liegt unter
C:\123.mp4
und unter
\\meine-DS\web\Intranet\Filme

<?PHP
$links_zusammenfuegen[] = 'start ';
$links_zusammenfuegen[] = '//meine-DS/Intranet/Filme/123.mp4';
//$film_abspielen = implode(" ", $links_zusammenfuegen);
$film_abspielen = implode($links_zusammenfuegen);
//Ausführungstests
exec ('//meine-DS/Intranet/Filme/123.mp4');
exec ('c:\521.mp4');
exec ($film_abspielen);
echo $film_abspielen;
?>

Was da passiert? Es öffnet den Standardplayer z.B. VLC und spielt die MP4-Datei ab.
Wurde auch schon ausprobiert und funktioniert. Nur leider eben nicht auf meiner DS :-(
Kann auch jeder gerne selbst zumindest mit XAMPP ausprobieren.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn dabei wirklich der Default Player deines Clients kommt, dann wundert mich das doch sehr. exec führt die Datei auf dem Server aus. Ich wüsste nicht wie das im Player deines Clients ausgeführt werden sollte. Wenn diese Files auf der DS liegen, dann wäre es doch viel einfacher die Files einfach on demand an den Client zu geben. Bräuchte kein exec & Co
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Auf einem Windows-PC mag das so gehen, weil ja die Anwendungsprogramme mit den Dateiendungen verknüpft sind. Das ist aber auf normalen Linux-Rechnern eher selten der Fall ... der Schnippsel wird also so auf der DS nicht laufen können. Die Idee von jahlives ist zielführender ... aber mal ganz ehrlich, warum machst es nicht über den Datei-Browser im DSM???

Itari
 

Maestro_81

Benutzer
Mitglied seit
31. Jan 2010
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
oje oje oje. dann heißt das wohl, dass ich einen irrtum in der dreiecksbeziheung linux-server, windows-client und exec aufgesessen bin.
wie gesagt, mit xampp / localhost funktionierte ja alles einwandfrei.
ziel von den ganzen ist eine art maxdome. man sucht sich einen film aus, klickt auf "film starten" und los gehts. das ganze auf einer webbasierenden oberfläche, wo user nichts anderes machen können als die db zu durchsuchen und eben den film zu starten. -> somit fällt der datei-browser der dsm weg
gut, oder auch nicht gut. habe gehofft, dass es "nur" eine einstellungssache der DS ist, die mein vorankommen behindert.

auch wenn es hier dann eigentlich zu weit führt...
wie stellst ihr euch die sache mit on demand vor?
aktuell ist die sache mit access und dem befehlt shell ("meine-DS\usw.") gelöst.
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Der Dateibrowser oder die Photostation mit entsprechenden Ordnern und Rechten für die Nutzer dürfte auch jeden Fall der einfachste Weg sein.

Ansonsten schau Dir mal http://www.open-video-toolkit.org/ an. Einem kurzen Blick auf die Anforderungen nach müsste das auf einer DS laufen. Private YouTube-Videos (oder ein anderer Anbieter, der sowas kann) wären auch eine Alternative.
 

Maestro_81

Benutzer
Mitglied seit
31. Jan 2010
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Dateibrowser usw. ist sicherlich der einfachste, aber dafür nicht der schönste weg (find ich zumindest^^)
Ein externes Programm wollte ich eigentlich nicht verwenden, aber wenns es hart auf hart kommt, dann muss es wohl so sein.
Aber das paßt dann nciht mehr zum eigentlichen Beitrag.
Vielen DANK an alle beteiligten. Ihr habt mir sehr viel sinnlose Arbeit erspart :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!