在CentOS系统中安装PHP和FFmpeg是许多服务器环境配置中的常见需求,特别是在处理多媒体内容时,本文将详细介绍如何在CentOS系统上安装这两个组件,确保安装过程顺利且功能正常,我们将以CentOS 7为例,但大部分步骤也适用于CentOS 6和CentOS 8。

系统更新与依赖安装
在开始安装之前,建议先更新系统并安装必要的依赖包,打开终端,执行以下命令:
sudo yum update -y sudo yum install -y epel-release
epel-release是Extra Packages for Enterprise Linux的缩写,提供了许多额外的软件包,对于安装PHP和FFmpeg非常有帮助,安装编译PHP和FFmpeg所需的依赖包:
sudo yum install -y gcc make gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
安装FFmpeg
FFmpeg是一个强大的多媒体处理工具,支持视频和音频的录制、转换和流处理,以下是安装FFmpeg的步骤:
-
安装依赖包: FFmpeg需要一些额外的依赖包,确保已安装以下内容:
sudo yum install -y yasm nasm
-
下载FFmpeg源码: 访问FFmpeg官网(https://ffmpeg.org/)获取最新的源码包下载链接,下载FFmpeg 4.4版本:
cd /usr/local/src wget https://ffmpeg.org/releases/ffmpeg-4.4.tar.bz2 tar -jxvf ffmpeg-4.4.tar.bz2 cd ffmpeg-4.4
-
编译与安装: 执行以下命令配置、编译并安装FFmpeg:
./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 make sudo make install
-
配置环境变量: 将FFmpeg的bin目录添加到系统PATH中:
echo 'export PATH=$PATH:/usr/local/ffmpeg/bin' >> /etc/profile source /etc/profile
-
验证安装: 执行以下命令检查FFmpeg是否安装成功:
ffmpeg -version
安装PHP
PHP是一种广泛使用的服务器端脚本语言,特别适合Web开发,以下是安装PHP的步骤:

-
添加Yum仓库: CentOS默认的Yum仓库中可能没有最新的PHP版本,建议使用Remi仓库,首先安装EPEL仓库,然后添加Remi仓库:
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
-
安装PHP及扩展: 使用Yum安装PHP及其常用扩展:
sudo yum install -y --enablerepo=remi-php74 php php-fpm php-cli php-mysqlnd php-gd php-xml php-mbstring php-curl php-json php-zip
根据需要替换
php74为其他版本,如php80表示PHP 8.0。 -
启动并设置开机自启: 启动PHP-FPM并设置开机自启:
sudo systemctl start php-fpm sudo systemctl enable php-fpm
-
验证安装: 创建一个测试文件
info.php为<?php phpinfo(); ?>,并通过Web服务器访问该文件,查看PHP信息。
安装FFmpeg PHP扩展
为了在PHP中使用FFmpeg,需要安装FFmpeg的PHP扩展,以下是安装步骤:
-
安装FFmpeg PHP扩展: 使用PECL安装FFmpeg扩展:
sudo pecl install ffmpeg
-
配置PHP加载扩展: 编辑PHP配置文件
php.ini,添加以下内容:echo 'extension=ffmpeg.so' | sudo tee -a /etc/php.ini
-
重启PHP-FPM: 重启PHP-FPM以加载新扩展:

sudo systemctl restart php-fpm
-
验证扩展: 在
info.php文件中查找FFmpeg扩展信息,确认是否加载成功。
常见问题与解决方案
在安装过程中可能会遇到一些问题,以下为常见问题及解决方法:
-
FFmpeg编译失败: 检查是否安装了所有必要的依赖包,特别是
yasm和nasm,确保使用的是最新版本的源码。 -
PHP扩展无法加载: 检查
php.ini文件中的扩展路径是否正确,并确保ffmpeg.so文件存在于PHP扩展目录中。
FAQs
Q1: 如何检查FFmpeg是否在PHP中正常工作?
A1: 可以编写一个简单的PHP脚本,使用ffmpeg_movie类或FFmpeg\FFmpeg库(如果使用PHP-FFmpeg)来测试。
<?php
$movie = new ffmpeg_movie('test.mp4');
echo $movie->getDuration();
?>
如果能够正确输出视频时长,说明FFmpeg在PHP中工作正常。
Q2: 安装过程中提示“command not found: pecl”,如何解决?
A2: 这表示系统中未安装PECL,可以通过以下命令安装:
sudo yum install -y php-pear
安装完成后,即可使用pecl命令安装PHP扩展。