2017-12-15 4 views
1

Ich habe FFMPEG unter Windows installiert. Ich habe es meiner Pfadvariablen hinzugefügt. Ich kann auf ffmpeg in der Eingabeaufforderung zugreifen, unabhängig davon, in welchem ​​Ordner ich bin (was mir sagt, ffmpeg + die Pfadvariable funktioniert wie erwartet).PHP exec kann nicht auf FFMPEG zugreifen. während ich kann in der Eingabeaufforderung

PHP

exec('ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1', $output); 
$output = implode(' -|- ', $output); 
var_dump($output); 

Var_dump

'ffmpeg' is not recognized as an internal or external command, -|- operable program or batch file. 

, wenn ich genau das gleiche Kommando kopieren (ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1) in meinem Kommando Prompt es perfekt funktioniert. Unabhängig vom Speicherort des Ordners.

Muss ich zusätzliche/verschiedene Schritte für PHP durchführen, um ffmpeg zu finden?

+1

wie Fenster sieht eine andere App blockiert Terminal zugreifen zu können, müssen Sie exec versucht wie dieses 'C: \ ffmpeg \ bin \ ffmpeg.exe'? –

+0

@PutraPurba Ja, das funktioniert, aber ich möchte auch eine Bibliothek verwenden, die nicht vollständige Pfade verwendet. – degebine

+0

ist C: \ ffmpeg \ bin bereits zu PATH var hinzugefügt? –

Antwort

0

könnten Sie PHP-Konstante definiert

DIRECTORY_SEPARATOR 

statt/versuchen?

Außerdem haben Sie vollständigen Pfad zu Ihrem ffmpeg.exe Programm zu verwenden, wenn es nicht in Ihrem% PATH ist% zB:

'C:' . DIRECTORY_SEPARATOR . 'Program Files' . DIRECTORY_SEPARATOR . 'ffmpeg' . DIRECTORY_SEPARATOR . 'bin'. DIRECTORY_SEPARATOR . 'ffmpeg.exe' 
Verwandte Themen