簡體   English   中英

Ubuntu-Laravel 5.6-無法加載ffprobe(使用php-ffmpeg)

[英]Ubuntu - Laravel 5.6 - Unable to load ffprobe (using php-ffmpeg)

我在ubuntu系統上安裝了ffmpeg和ffprobe(可以通過命令行訪問)

ffmpeg和ffprobe位於/ usr / bin /

我通過作曲家安裝了這些

"php-ffmpeg/binary-driver": "dev-master",
"php-ffmpeg/php-ffmpeg": "^0.11.1",

我已經完成:使用FFMpeg;

// in index() function//

$ffmpeg = FFMpeg\FFMpeg::create([
    'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/bin/ffprobe'
]);

仍然得到

FFMpeg \\異常\\ ExecutableNotFoundException

無法加載FFProbe

我已經看過大約30個論壇,但是沒有運氣,有些指導會有所幫助

更新我嘗試了chmod +x /usr/bin/ffprobe

然后重新啟動,什么也沒做。

然后,我嘗試:

sudo chgrp www-data /usr/bin/ffprobe sudo chmod g+x /usr/bin/ffprobe

然后重新啟動,什么也沒做。

更新我忘了提到我在docker中運行php-fpm + nginx。我為php-ffmpeg添加了pbmedia包裝器,如果我在沒有docker的情況下運行laravel項目(php artisan服務),它可以正常工作。

現在的問題是,我需要從docker中引用/ usr / bin / ffprobe目錄

你提到

ffmpeg和ffprobe位於/ usr / bin /

但是稍后,如果在/usr/local/bin/引用它們,則您的代碼

$ffmpeg = FFMpeg\FFMpeg::create([
    'ffmpeg.binaries'  => '/usr/local/bin/ffmpeg',
    'ffprobe.binaries' => '/usr/local/bin/ffprobe'
]);

這是要檢查的一件事。

另一個是確保二進制文件為php以..身份運行的正確用戶設置了可執行位,該用戶可以是www-data (如果不確定您的php腳本發出whoamiid -un的輸出, id -un等)。

sudo chgrp www-data /usr/bin/ffprobe
sudo chmod g+x      /usr/bin/ffprobe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM