环境要求
- 操作系统: CentOS 7 、Ubtntu 14 、Debian 8 、RedHat 7 ;推荐CentOS 7.4
- 建议服务器内存4G以上;
- 删除php禁用函数:exec,shell_exec,proc_open,proc_close。
一、安装转换工具软件
1. Linux下,安装ImageMagick 及FFmpeg等依赖组件
代码语言:javascript复制# CentOS下安装
yum install ImageMagick dcraw ghostscript ffmpeg libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libungif libungif-devel freetype zlib
# 安装ffmpeg(视频缩略图,视频转码)
curl http://doc.kodcloud.com/tools/psd/install.sh | sh
#其他Ubuntu,Redhat安装
apt-get install ImageMagick dcraw ghostscript ffmpeg libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libungif libungif-devel freetype zlib
# 安装完成后测试(没有报错说明安装成功)
convert && dcraw && ffmpeg
1.1 CentOS8下安装
代码语言:javascript复制# 1.安装ImageMagick
sudo dnf install epel-release
sudo dnf config-manager --set-enabled PowerTools
sudo dnf update
sudo dnf install ImageMagick ImageMagick-devel
sudo dnf groupinstall "Development Tools"
sudo dnf install git
# 如果有包含ffmpeg的源,可以直接安装ffmpeg; 如果缺少依赖报错可以编译安装;
yum install ffmpg
# 2.编译安装ffmpeg依赖的转码库libx264
git clone https://code.videolan.org/videolan/x264.git
cd x264 && ./configure --disable-asm --enable-shared --enable-static
make && make install
mkdir /usr/share/x264 && cp ./x264.pc /usr/share/x264/
export PKG_CONFIG_PATH=/usr/share/x264
ldconfig
# 3.编译安装ffmpeg
cd ../
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure --disable-x86asm --enable-pthreads --enable-libx264 --enable-gpl --enable-pic --enable-shared
make && make install
echo "/usr/local/lib/" >> /etc/ld.so.conf
ldconfig
# 4.安装dcraw
dnf install dcraw
2. Mac下安装
代码语言:javascript复制#通过brew,未安装brew则先安装
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安装ImageMagick
brew install ImageMagick dcraw ghostscript ffmpeg libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libungif libungif-devel freetype zlib
# 安装完成后测试(没有报错说明安装成功)
convert && dcraw && ffmpeg
二、修改php.ini 超时时间及内存限制
由于超过20M的psd,ai等文件,转换时可能会比较耗时间,所以建议php的超时时间及内存限制给大点(也可以不做调整)
代码语言:javascript复制max_execution_time = 1200
max_input_time = 1200
memory_limit = 512M
修改保存后,需要重启web服务器才能生效. ffmpeg 视频转码是否正常,可以手动尝试转换一个文件,试试看有无报错(依赖库及解码器是否正常), eg: ffmpeg -i input.avi output.mp4