2011-10-18 6 views
0

J'essaye d'exécuter ffmpeg sur mon serveur WAMP avec la commande exec. Bien que j'ai défini dans le fichier .htaccess "php_value safe_mode off" et apache autorisent le remplacement, l'exec ne fonctionne toujours pas correctement. si je tente d'exécuterL'exec PHP ne fonctionne pas correctement

<? 
    php exec("mkdir aaa"); 
    ?> 

cela fonctionne, mais quand je fais quelque chose comme

exec("ffmpeg.exe -y -i D:\Documents\Video.wmv -f mp4 D:\Documents\Video.mp4 -y"); 

il ne fait rien. Cela fonctionne bien est invité dans la ligne de commande, mais pour une raison quelconque, il ne fonctionne pas lorsque j'essaie de l'exécuter à partir du serveur. Avez-vous des idées?

+1

est 'ffmpeg.exe' dans la variable' path' de EVN pour le shell exécuté sous Apache? (Vérifiez l'environnement avec phpinfo.) – mario

Répondre

2

Vous devez échapper les antislashes dans des chaînes:

exec("ffmpeg.exe -y -i D:\\Documents\\Video.wmv -f mp4 D:\\Documents\\Video.mp4 -y"); 
+0

Sucks que cela doit être fait manuellement, semble Escapeshellarg() devrait gérer les barres obliques inverses. –

Questions connexes