晚上写东西的时候,报了一个错误:Call to undefined function imagecreatefromjpeg()
没有开启 jpeg 支持?原来是默认安装的 gd 扩展默认不支持 jpeg。
1、那么,来添加 jpeg 格式文件支持吧。#下载jpeg扩展包
wget /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~