晚上写东西的时候,报了一个错误:
Call to undefined function imagecreatefromjpeg()
没有开启 jpeg 支持?原来是默认安装的 gd 扩展默认不支持 jpeg。
1、那么,来添加 jpeg 格式文件支持吧。
#下载jpeg扩展包
wget http://www.ijg.org/files/jpegsrc.v8b.tar.gz
#解压缩扩展包
tar -zxvf jpegsrc.v8b.tar.gz
#安装
cd jpeg-8b
./configure --prefix=/usr/local/php-kuozhan/jpeg --enable-shared --enable-static
make && make install
2、完成第一步之后,如果我们去 php 源码目录 ext/gd 下 使用 phpize重新编译GD库扩展生成gd.so,在php.ini中加入extension=gd.so后重启php,会报错"PHP Warning: Module 'gd' already loaded in Unknown on line 0"。由于编译安装时指定的扩展属于静态扩展,如果修改扩展就需要重新编译安装了。
3、来到 php 源码目录,进行重新编译安装。
#先停止php-fpm、nginx
pkill -9 php-fpm
/usr/local/nginx/sbin/nginx -s stop
#先清除残留的缓存
make clean
#重新进行预编译,注意这一步最后加上了 第一步安装 jpeg文件支持
./configure --prefix=/usr/local/php \
--with-gd \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-xml \
--with-openssl \
--with-mcrypt \
--enable-mbstring \
--enable-zip \
--enable-fpm \
--with-jpeg-dir=/usr/local/php-kuozhan/jpeg
#安装
make && make install
4、开启 fpm、nginx
/usr/local/php/sbin/php-fpm
/usr/local/nginx/sbin/nginx
5、查看phpinfo
说明已经支持 jpeg 文件了。
thanks~