2017-07-28 6 views
0

Comment démarrer wine dans php shell_exec ("wine ffmpeg.exe"); ?définir les permissions (PHP5) shell_exec ("wine ffmpeg.exe") dans la version ubuntu 14

(ubuntu serveur la version 14)

installer

sudo apt-get install wine -y 

Code php5:

$cmd = "/usr/bin/wine /var/www/html/ffmpeg.exe upload/image.jpg" 
shell_exec($cmd); 

emplacement ffmpeg.exe: /var/www/html/

le vin est ne démarre pas?

version Linux de FFmpeg ?, comment exécuter PHP shell_exec()?

domaine du serveur est pas partagé d'hébergement

autorisations sur www-data pourrait être un problème?

commande ffmpeg succès dans le terminal!

Il y a un problème de permission, juste testé et la commande est correcte.
soit ffmpeg.exe ou de vin ont des autorisations incorrectes.

Commande (ffmpeg.exe)

chmod 755 ffmpeg.exe 
chown www-data ffmpeg.exe 

commande (/ usr/bin/vin)

chmod 755 wine 
chown www-data wine 


sudo service apache2 restart

ne fonctionne toujours pas, pourrait être plus fichiers 'vin' pour appliquer des autorisations à. Je ne suis pas en mesure de sortie toute erreur et commande à ffmpeg est correct du terminal le problème doit être autorisations

+0

Comment diable cela a-t-il cinq upvotes et deux stars préférées? Vous "supposez" que ça ne démarre pas correctement? Pourquoi es-tu _assumant_ n'importe quoi? Avez-vous regardé la valeur STDOUT, STDERR ou return lorsque vous essayez d'exécuter la commande? Oui, bien sûr, il y a une version Linux de ffmpeg. Une recherche de base sur le Web vous l'aurait dit. Il n'y a rien de spécial à faire pour l'exécuter via PHP. S'il vous plaît faites des recherches de base avant de demander ici, et lisez [demander] pour obtenir des conseils sur la pose de questions efficaces. – Chris

+0

(STDOUT). $ proc = popen ($ cmd, 'r'); echo $ proc; = (OUTPUT) ID de ressource # 20 – user235423423424

+0

shell_exec ($ cmd, $ output); var_dump ($ output); (sortie) = NULL – user235423423424

Répondre

2

Tout d'abord, téléchargez et installez FFmpeg pour votre serveur: https://www.ffmpeg.org/download.html, oui, il existe des versions pour Linux. Puis, il est préférable d'utiliser exec() et d'exécuter ffmpeg en arrière-plan, de sorte que vous n'avez pas besoin d'attendre que la vidéo soit convertie pour passer à une autre page.

$cmd = 'ffmpeg -- parameters here --'; 
// 2>&1 is used for execute on background 
exec("$cmd 2>&1", $output); 
// Do you need to debug? 
// See ffmpeg results: 
var_dump($output); 
+0

rien de mal à l'installation ici, fonctionne lorsqu'il est exécuté à partir du terminal. doit être des autorisations de fichier car ffmpeg et shell_exec s'exécutent sans erreur – user235423423424

+0

PHP est-il configuré en tant que CGI?, peut-être que vous devez exécuter php-cli pour que cela fonctionne, vérifiez ceci: ** [link] (https://stackoverflow.com/questions/566248/cant-execute-php-script-using-php- exec) ** – Triby

+0

@ user235423423424, vous devriez éviter d'utiliser Wine si vous n'en avez pas besoin. Il est _ntirely_ inutile ici. Utilisez simplement la version native de ffmpeg. Cela sera certainement plus rapide, utilisera moins de mémoire et générera moins d'erreurs. – Chris