CentOS下安装libjpeg库及编译GD库

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

解决方法mysql

第一步、安装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 找最新的下载地址。sql

注意:这里的configure必定要带--enable-shared参数,否则不会生成共享库libjpeg.so服务器

第二步、从新编译GD

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

  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的位置socket

若是报configure: error: png.h not found.,请尝试php-fpm

  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的位置ui

修改php.iniurl

在php.ini加入extension=gd.so
重启php-fpmservice php-fpm restartspa

若是提示: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,就完成了

相关文章
相关标签/搜索