我使用的是 Lumen PHP 框架,它是 Laravel 的形式。在服务器端我有 Bitnami。
执行使用 FFMpeg 的代码时出现 500 错误。我的部分代码导致了问题:
$ffmpeg = FFMpeg::create([
'ffmpeg.binaries' => '/opt/bitnami/apache/htdocs/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg',
'ffprobe.binaries' => '/opt/bitnami/apache/htdocs/vendor/php-ffmpeg/php-ffmpeg/src/FFProbe',
'timeout' => 0
]);
我也尝试过没有“超时”。
以下是我在服务器响应中收到的错误的详细信息:
[ExecutableNotFoundException](#trace-box-2) [ExecutableNotFoundException](#trace-box-1)
HTTP 500 内部服务器错误
无法加载FFProbe
例外2
FFMpeg\异常\ExecutableNotFoundException
在/opt/bitnami/apache/htdocs/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFProbeDriver.php(第50行)
$binaries = $configuration->get('ffprobe.binaries', ['avprobe', 'ffprobe']);
try {
return static::load($binaries, $logger, $configuration);
} catch (BinaryDriverExecutableNotFound $e) {
throw new ExecutableNotFoundException('Unable to load FFProbe', $e->getCode(), $e);
}
}
}
我尝试通过
sudo chmod -R 777 /opt/bitnami/apache/htdocs
更改项目文件夹权限。不确定是否有效。这是当前状态:
$ ls -l /opt/bitnami/apache/htdocs total 328 drwxrwxrwx 10 bitnami root 4096 Feb 20 16:16 app -rwxrwxrwx 1 bitnami root 1094 Feb 20 16:16 artisan drwxrwxrwx 2 bitnami root 4096 Feb 20 16:16 bootstrap -rwxrwxrwx 1 bitnami root 1076 Jul 2 00:25 composer.json -rwxrwxrwx 1 bitnami root 274159 Jul 2 00:25 composer.lock drwxrwxrwx 5 bitnami root 4096 Feb 20 16:16 database -rwxrwxrwx 1 bitnami root 4871 May 18 15:46 index_default.html -rwxrwxrwx 1 bitnami root 592 Feb 20 16:16 phpunit.xml drwxrwxrwx 2 bitnami root 4096 Feb 20 16:16 public -rwxrwxrwx 1 bitnami root 1920 Feb 20 16:16 README.md drwxrwxrwx 3 bitnami root 4096 Feb 20 16:16 resources drwxrwxrwx 2 bitnami root 4096 Feb 20 16:16 routes drwxrwxrwx 5 bitnami root 4096 Feb 20 16:16 storage drwxrwxrwx 2 bitnami root 4096 Feb 20 16:16 tests drwxrwxrwx 36 bitnami root 4096 Jul 2 00:46 vendor
尝试将其添加到 /opt/bitnami/apache/htdocs 中的 .env 文件中:
FFMPEG_BINARIES=/opt/bitnami/apache/htdocs/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg FFPROBE_BINARIES=/opt/bitnami/apache/htdocs/vendor/php-ffmpeg/php-ffmpeg/src/FFProbe
我遇到了问题 '无法加载 ffprobe' - laravel/lumen 在 ubuntu nginx 上运行,我尝试将二进制文件路径设置为 FFmpeg 配置,但仍然无法正常工作。然后我在Noenvironmentvariables are available via PHP-fpm+nginx中找到了我的解决方案。
就我而言,ExecutableFinder (vendor/symfony/process/ExecutableFinder.php) 无法从 getenv('PATH') 找到任何路径。
希望这有帮助。