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
、アップグレードを推奨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
from http://ffmpeg-php.sourceforge.net/ から抽出します。
cd ffmpeg-php-<version>
./configure
make
Sudo make
Php.iniファイルを編集して、このファイルの終わりを追加します。
extension=ffmpeg.so
先週、centos 6にこの拡張機能を正常にインストールしました
ffmpeg-phpの公式ウェブページ を見ると、最終更新日が2007であることがわかります。そのため、本番サーバーでは使用しないことをお勧めします。 2007年以降に作成されたバグ修正の数を考えると、ffmpegの古いバージョンをffmpeg-phpと一緒に使用する必要があるため、これは明らかにお勧めできません。
おそらく、より良い解決策は、Webページから直接ffmpeg/ffprobeを呼び出して、オーディオ/ビデオで必要なことをすべて行うことです。そうすれば、コマンドラインオプションは通常API/ABIほど大きく変化しないため、ffmpegの新しい更新に追いつくのに頭痛が少なくなります。 Webページからffmpegを使用する方法の詳細については、次を参照してください ffmpeg wikiのこのチュートリアル :
単純なffmpegインストールでphpファイルで使用するには十分ですが、それでもインストールする必要がある場合は、ファイルをダウンロードして手動でコンパイルしてみてください。これを参考にチェックしてください http://ffmpeg-php.sourceforge.net/
phpapi-20090626+lfs
は、別のパッケージが「提供」できる「仮想パッケージ」です。あなたの場合、これはphp5-ffmpeg
が必要とする古い仮想パッケージであり、新しいPHPパッケージは提供していません。すべてが動作するようにするための最も速い解決策は、 PHPアップグレードはそれを壊し、PHPをダウングレードすることになります。
新しいPHPを使用するソリューションでは、php5-ffmpeg
のアップデートバージョンが利用可能であれば、それが必要になります。通常のディストリビューションリポジトリには表示されないため、これは外部リポジトリ(PPAなど)のパッケージであると思います。利用できない場合は、自分で作成する必要があります。しかし、ffmpeg
とPHPの更新されたバージョンではそれができない場合があります...
php5-ffmpeg
の古さの詳細( 詳細はこちら )を考慮して、最初にこのライブラリを使用しないようにアプリケーションを変更しようとします。 (少なくとも)ffmpeg
の古いバージョン。
それまでの間、私の意見では、最も簡単な解決策は、サポートされているバージョンにPHP(および必要に応じてffmpeg
)をダウングレードすることです)。