当我尝试安装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。
首先尝试使用下面的PPA来解决依赖关系,但是这个版本是End Of Life ,build议升级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
从http://ffmpeg-php.sourceforge.net/下载php-ffmpeg并解压。
cd ffmpeg-php-<version> ./configure make sudo make
编辑php.ini文件并添加这个文件的结尾:
extension=ffmpeg.so
上周我成功在Centos 6上安装了这个扩展
如果你看看ffmpeg-php的官方网页 ,你会看到上次更新的date是2007年。这就是为什么build议你不要在任何生产服务器上使用它,因为你必须使用旧的考虑到自2007年以来创build的错误修复数量,ffmpeg与ffmpeg-php的版本显然不是一个好主意。
也许更好的解决scheme是直接从你的网页调用ffmpeg / ffprobe来做你需要的任何audio/video。 这样,你就不用担心ffmpeg的新更新了,因为命令行选项通常不会像API / ABI那样改变。 有关在网页上使用ffmpeg的更多帮助,可以阅读ffmpeg wiki上的这个教程 :
简单的ffmpeg安装足以在php文件中使用它,但是如果仍然需要安装它,则尝试下载文件并手动编译它们。 检查这个参考http://ffmpeg-php.sourceforge.net/
phpapi-20090626+lfs是另一个包可能“提供”的“虚拟包”。 在你的情况下,这是一个php5-ffmpeg需要的较旧的虚拟包,而较新的PHP包没有提供。 如果PHP升级破坏了最快的解决scheme,那就是降级PHP。
对于使用新PHP的解决scheme,如果可用,则需要更新的php5-ffmpeg版本。 我相信这是来自外部存储库(如PPA)的包,因为我没有看到它在正常的分布存储库。 如果它不可用,则必须尝试自己构build它。 这可能是不可能的更新版本的ffmpeg和PHP,虽然…
鉴于php5-ffmpeg 具体细节 ( 如此处所述 ),我会尝试更改您的应用程序,以避免首先使用此库,因为它将您locking到(至less)旧版本的ffmpeg 。
同时,在我看来,最简单的解决scheme是将PHP(如果需要的话还有ffmpeg )降级到支持的版本。