当我尝试安装 php5-ffmpeg 时:
apt-get install php5-ffmpeg
我收到一个错误:
The following packages have unmet dependencies:
php5-ffmpeg : Depends: phpapi-20090626+lfs
据我了解,当我将 php 从 5.3 升级到 5.4 时,我的 php5-ffmpeg 就坏了。
我该如何修复它?我尝试了一些选项,如 -f、-ingnore-dependencies,但并没有解决问题。
我正在使用 Ubuntu 12.04.2 LTS。
答案1
首先尝试使用下面解决依赖关系PPA
,但此版本End Of Life
建议升级php-5.6
sudo add-apt-repository ppa:ondrej/php5-oldstable
sudo apt-get update
然后
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg ffmpeg-devel
下载php-ffmpeg
自http://ffmpeg-php.sourceforge.net/并提取。
cd ffmpeg-php-<version>
./configure
make
sudo make
编辑 php.ini 文件并在文件末尾添加以下内容:
extension=ffmpeg.so
上周我在 centos 6 上成功安装了这个扩展
答案2
如果你看一下ffmpeg-php 官方网页,您会看到最后更新日期是 2007 年。这就是为什么建议您不要在任何生产服务器上使用它,因为您必须将旧版本的 ffmpeg 与 ffmpeg-php 一起使用,考虑到自 2007 年以来创建的错误修复数量,这显然不是一个好主意。
也许更好的解决方案是直接从网页调用 ffmpeg/ffprobe 来对音频/视频进行任何您需要的操作。这样,您就不必为跟上 ffmpeg 的新更新而头疼,因为命令行选项通常不会像 API/ABI 那样发生很大变化。有关从网页使用 ffmpeg 的更多帮助,您可以阅读ffmpeg wiki 上的本教程:
答案3
简单的 ffmpeg 安装足以在 php 文件中使用它,但如果仍然需要安装它,请尝试下载文件并手动编译它们。请查看此内容以供参考http://ffmpeg-php.sourceforge.net/
答案4
phpapi-20090626+lfs
是另一个包可能“提供”的“虚拟包”。就您而言,这是一个较旧的虚拟包,它php5-ffmpeg
需要较新的 PHP 包,但较新的 PHP 包不提供它。如果 PHP 升级破坏了一切,最快的解决方案就是降级 PHP。
对于使用新 PHP 的解决方案,您将需要 的更新版本php5-ffmpeg
(如果可用)。我相信这是一个来自外部存储库(如 PPA)的软件包,因为我在正常的发行版存储库中看不到它。如果它不可用,您必须尝试自己构建它。ffmpeg
不过,使用 和 PHP 的更新版本可能无法做到这一点……
考虑到具体年龄php5-ffmpeg
(详细信息),我会尝试更改您的应用程序以避免首先使用这个库,因为它会将您锁定在(至少)旧版本的ffmpeg
。
同时,我认为最简单的解决方案是将 PHP(以及ffmpeg
,如果需要)降级到受支持的版本。