微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,就完成了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。