2017-07-28 139 views
0

如何在php shell_exec(「wine ffmpeg.exe」)中啓動wine; ?ubuntu版本14中設置權限(PHP5)shell_exec(「wine ffmpeg.exe」)

(ubuntu的版本14服務器)

安裝

sudo apt-get install wine -y 

PHP5代碼:

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

ffmpeg.exe位置: /無功/網絡/ HTML/

酒是沒有開始?

Linux版本的FFmpeg ?,如何運行PHP shell_exec()?

Server域是不是在共享主機

權限上www-data可能是什麼問題?

命令ffmpeg終端成功!

有一個權限問題,只是測試和命令是正確的。
ffmpeg.exe或wine有不正確的權限。

司令部(ffmpeg.exe)

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

命令(在/ usr/bin中/葡萄酒)

chmod 755 wine 
chown www-data wine 


sudo service apache2 restart

仍無法正常工作,可能是更多的 '酒' 文件將權限應用於。 我不能輸出任何錯誤,並且命令的ffmpeg是從終端正確的問題一定權限

+0

這究竟有五個upvotes和兩個最喜歡的明星嗎?你「假設」它開始不正確?你爲什麼要假裝什麼?當您嘗試運行該命令時,是否查看過STDOUT,STDERR或返回值?是的,當然有一個Linux版本的ffmpeg。基本的網絡搜索會告訴你。沒有什麼特別的東西需要通過PHP來運行。請在此之前進行基礎研究,並閱讀[詢問]提出有效問題的提示。 – Chris

+0

(STDOUT)。 $ proc = popen($ cmd,'r'); echo $ proc; =(OUTPUT)資源ID#20 – user235423423424

+0

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

回答

2

所有,下載的第一,爲您的服務器安裝FFmpeg的:https://www.ffmpeg.org/download.html,是的,有版本Linux操作系統。

然後,最好使用exec()並在後臺運行ffmpeg,因此您不必等到視頻轉換爲其他頁面。

$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

這裏安裝沒有錯,從終端執行時工作。必須是文件權限,因爲ffmpeg和shell_exec運行時沒有錯誤 – user235423423424

+0

將PHP配置爲CGI?,也許你需要運行php-cli才能得到這個工作,請檢查:** [link](https://stackoverflow.com/questions/566248/cant-execute-php-script-using-php- exec)** – Triby

+0

@ user235423423424,如果你不需要它,你應該避免使用Wine。這裏完全不必要。只需使用本地版本的ffmpeg即可。這幾乎肯定會更快,使用更少的內存,併產生更少的錯誤。 – Chris