exec() geht nicht bei "safe mode = On"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • exec() geht nicht bei "safe mode = On"

    Hallo

    ich hab ein kleines Problem mit dem [COLOR=green]Safe Mode[/COLOR] und der Ausführung von commands per [COLOR=blue]exec();[/COLOR] .


    PHP-Code:

        error_reporting
    (E_ALL);
     
        
    $befehl 'ffmpeg -i F:/safefolder/a.wav F:/safefolder/b.mpg';
        
    exec($befehl$ret$error);
        
    print_r($ret);
        echo 
    $error
    Es klappt wunderbar, wenn ich den [COLOR=green]safe_mode = Off[/COLOR] setze.

    Aber sobald ich [COLOR=green]safe_mode = On[/COLOR] setze und [COLOR=green]safe_mode_exec_dir = "F:\safefolder"[/COLOR], dann klappt es nicht.

    Habs auch mit "F:\safefolder\" und anderen slash-variationen versucht, leider kein erfolg...

    Kann es sein, das für das Auführen von [COLOR=blue]exec()[/COLOR] usw. unter [COLOR=green]safe_mode = On[/COLOR] noch mehr einzuställen ist als nur das [COLOR=green]safe_mode_exec_dir = "F:\safefolder"[/COLOR]?

    Das ganze Teste ich auf XAMPP und halt lokal. Wäre für eine Hilfestellung sehr Dankbar.

    Grüsse

    Kald

  • #2
    Afaik muss nicht der Pfad des Videos in deinem safe_mode_exec_dir liegen, sondern das aufgerufene Programm, d.h. ffmpeg!

    Kommentar


    • #3
      hallo desaster

      meinst du:

      PHP-Code:
      $befehl 'F:/safefolder/ffmpeg -i F:/safefolder/a.wav F:/safefolder/b.mpg'
      so?

      nein, dadran liegt es nicht, hab nur mit umgebungsvariablen exerimentiert. aber so wie der $befehl oben steht, funkt es im sm = off...
      dennoch viellen dank für deine gedanken

      also problem besteht noch.

      Kommentar


      • #4
        Re: exec() geht nicht bei "safe mode = On"

        Original geschrieben von kald
        Aber sobald ich [COLOR=green]safe_mode = On[/COLOR] setze und [COLOR=green]safe_mode_exec_dir = "F:\safefolder"[/COLOR], dann klappt es nicht.

        Habs auch mit "F:\safefolder\" und anderen slash-variationen versucht, leider kein erfolg...
        richtig wäre der slash. safe_mode_exec_dir

        Original geschrieben von kald
        Wäre für eine Hilfestellung sehr Dankbar.
        dann solltest du die fehlermeldung liefern!
        http://php-resource.de/forum/showthr...threadid=50454

        Kommentar


        • #5
          Danke 3DMax,

          aber als error bekomme ich nur eine "1" geliefert, wenn ich slash benutze im safe_mode_exec_dir. Benutze ich ein backslash so bekomme ich eine "0" als error zurück...

          dennoch erschein nicht die gewünschte datei in dem ordner.

          es muß etwas anderes noch sein, was noch eingestellt werden muß oder so etwas.

          ich weiß jetzt auch nicht weiter, was ich noch zur aufklärung posten könnte!?

          Kommentar


          • #6
            meinst du...)so?
            Ja, so meinte ich das

            Aus dem Manual:
            If PHP is used in safe mode, system() and the other functions executing system programs refuse to start programs that are not in this directory.
            Liegt ffmpeg in diesem Verzeichnis? Darauf zielte meine Frage ab.

            Kommentar


            • #7
              ja, ffmpeg liegt im besagten ordner.

              bin irgendwie mit meinem latein am ende....

              Kommentar


              • #8
                Noch als Ergänzung zu dieser Direktive aus dem Manual
                [...]You have to use / as directory separator on all environments including Windows.
                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Probier mal statt exec() shell_exec()

                  PHP-Code:
                  echo(shell_exec($befehl); 
                  Dann kennst Du zumindest das Feedback von ffmpeg.

                  Gruß
                  mein Honda Forum | meine Scripte

                  Kommentar

                  Lädt...
                  X