CentOS下安装libjpeg库及编译GD库

GD库明明安装了,可处理图片的时候还是报错 Fatal error: Call to undefined function imagecreatefromjpeg()PHP安装后,认的gd库不支持jpg,只支持gif、png、bmp。让PHP的GD库支持处理jpg图片,需要安装libjpeg库。

解决方法

第一步、安装libjpeg

  1. wget http://www.ijg.org/jpegsrc.v8c.tar.gz
  2. tar zxvf jpegsrc.v8c.tar.gz
  3. cd jpeg-8c
  4. ./configure --enable-shared
  5. make && make install

如果上面的http://www.ijg.org/jpegsrc.v8c.tar.gz失效了,可以到 http://www.ijg.org 找最新的下载地址。

注意:这里的configure一定要带--enable-shared参数,不然不会生成共享库libjpeg.so

第二步、重新编译GD

下载PHP的完整源码包,源码包里包含有Mcrypt扩展源码
http://cn.php.net/releases/ 里找到自己服务器PHP版本的源码包,使用PHP -v,可以直接查看自己的PHP版本

  1. wget http://museum.PHP.net/PHP5/PHP-5.3.3.tar.bz2
  2. tar -xjvf PHP-5.3.3.tar.bz2
  3. cd PHP-5.3.3/ext/gd
  4. PHPize
  5. ./configure --with-PHP-config=/usr/bin/PHP-config --with-jpeg-dir=/usr/local/lib
  6. make && make install

/usr/local/lib是libjpeg.so的位置

如果报configure: error: png.h not found.,请尝试

  1. yum install libpng
  2. yum install libpng-devel

注意:with-PHP-config填写你的服务器的PHP-config的路径,一般在/usr/bin/PHP-config
执行 whereis PHP-configwhich PHP-config查找 PHP-config的位置

修改PHP.ini

PHP.ini加入extension=gd.so
重启PHP-fpmservice PHP-fpm restart

如果提示Warning: Module ‘gd‘ already loaded

你需要把之前编译的PHP删除掉,重新编译安装PHP

  1. ./configure --enable-fpm --prefix=/usr/local/services/PHP --with-MysqL=/usr/local/services/MysqL --with-config-file-path=/usr/local/services/PHP/etc
  2. --with-curl --with-pdo-MysqL=MysqLnd --enable-mbstring --enable-sockets --with-mcrypt
  3. make && make install

注意: 如果你的configure出现--with-gd参数,你要把--with-gd参数去掉(重要:这行要特别注意)

最后启动PHP-fpm,就完成了

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native