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下安装libjpeg库及编译GD库的更多相关文章

  1. 编译gd库出错

    不知道大家有没有遇到在  X64 RedHat5 或者 RedHat4 下.编译安装PHP环境的时候. 安装了libxml,zlib,jpeg,libpng,freetype,libart_lgpl, ...

  2. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  3. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  4. php追加编译GD库

    一.准备工作. 安裝 GD 前需要安裝 jpegsrc.v7.tar.gz, libpng-1.6.17.tar.gz, zlib-1.2.8.tar.gz, freetype-2.5.5.tar.g ...

  5. centos下安装最新版本git(通过master分支下载最新版)

    centos6.7下安装最新版本git 本文参考:http://www.01happy.com/centos-install-latest-git/ 按照原博主所提供的思路安装可能会出现下列问题 解决 ...

  6. CentOS下安装hadoop

    CentOS下安装hadoop 用户配置 添加用户 adduser hadoop passwd hadoop 权限配置 chmod u+w /etc/sudoers vi /etc/sudoers 在 ...

  7. CentOS下安装使用start-stop-daemon

    CentOS下安装使用start-stop-daemon 在centos下下了个自启动的服务器脚本 执行的时候发现找不到start-stop-daemon命令 好吧 执行手动编译一下 加上这个命令 w ...

  8. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  9. centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'

    centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...

随机推荐

  1. 无法执行vue初始化命令

    无法执行vue初始化命令:https://www.jianshu.com/p/9eb3cf854aa8 今天vue 初始化项目时提示错误 执行命令: npm install -g vue-cli 执行 ...

  2. HTML accessKey约定俗成的标准

    accessKey属性提供了键盘快捷键 例: <a href="index.html" accessKey="1">Home</a> 这 ...

  3. package[golang]学习笔记之context

    *关于context https://talks.golang.org/2014/gotham-context.slide#29

  4. java自定义excel

    文件下载 本文主要介绍spring boot环境下,利用Apache POI操作Excel,实现Excel文件的在线下载. 首先,我们在这里介绍一下关于ApachePOI中关于HSSF,XSSF和SX ...

  5. 【ES6 】声明变量的方式

    var function let const import class

  6. web登录的session、cookie和token

    为什么会有登录这回事 首先这是因为HTTP是无状态的协议,所谓无状态就是在两次请求之间服务器并不会保存任何的数据,相当于你和一个人说一句话之后他就把你忘掉了.所以,登录就是用某种方法让服务器在多次请求 ...

  7. javascript中 visibility和display区别在哪

    差异: 1.占用的空间不同. 可见性占用域空间,而显示不占用. 可见性和显示可以隐藏页面,例如: 将元素显示属性设置为block将在该元素后换行. 将元素显示属性设置为inline将消除元素换行. 将 ...

  8. 林大妈的CSS知识清单(二)可见格式化模型(内含margin塌陷与浮动闭合的解决方案)

    盒模型.浮动和定位是CSS中最重要的三个概念.它们共同决定了一个元素在页面中以怎样的形式进行排布与显示. 一.盒模型 1. 定义 盒模型是CSS的核心概念.一个页面中,所有的元素(不管他最终显示是圆形 ...

  9. vue项目中关于微信分享的坑,以及安卓和ios获取location.href不同的处理

    最近做vue项目的微信公众号项目,涉及到微信分享,记录一下心得,以备后用,vue路由用的是hash模式: 该项目只是公众号里面的h5链接,不需要获取code获取access_token的票据,因此前端 ...

  10. vim 去掉自动注释和自动回车

    取消 :set paste 恢复 :set paste!