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. phpstudy 最新版linux 面板 web防火墙后门防护功能教程

    phpstudy linux 面板针对服务器和网站做了全面的安全防护措施,尽可能的防范网站被入侵,留置后门风险,本篇文章着重介绍phpstudy linux 面板其中的一项安全功能 [网站防火墙]之[ ...

  2. PHP数组和对象之间的互换

    今天在和前端对接接口的时候,从后台返回数据给前端的时候出现如下JSON格式数据 "goods": [ { "id": "dEQ144800584Lx& ...

  3. RHEL8运维新利器--Cockpit使用方法

    在web浏览器中查看服务器并使用鼠标执行系统任务,很容易管理存储.配置网络和检查日志等操作. # 安装cockpit yum -y install cockpit # 启用cockpit system ...

  4. 16-Perl 文件操作

    1.Perl 文件操作Perl 使用一种叫做文件句柄类型的变量来操作文件.从文件读取或者写入数据到文件需要使用文件句柄.文件句柄(file handle)是一个I/O连接的名称.Perl提供了三种文件 ...

  5. 11-Perl 运算符

    1.Perl 运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号,如: 3+2=5.Perl 语言内置了丰富的运算符,我们来看下常用的几种: 算术运算符,比较运算符,逻辑运算符,赋值运算符,位 ...

  6. ModbusRtu通信报文详解【一】

    Modbus协议可谓是工业控制领域应用最广泛的协议之一.根据不同的电气接口,包括Modbus Rtu/ASCII,Modbus TCP/UDP,从学习的角度来说,只要学会其中一种,剩余的都是大同小异的 ...

  7. 数据库HAVING的使用

    HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUP BY语句返回的记录集. HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足. 记录一下

  8. 反射获取config实体类属性并赋值

    /// <summary> /// 将实体类存入config /// </summary> /// <param name="enity">&l ...

  9. JS基础_for循环练习1

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. 09 Python之IO多路复用

    四种常见IO模型 阻塞IO(blocking IO).非阻塞IO(nonblocking IO).IO多路复用(IOmultiplexing).异步IO(asynchronous IO) IO发生时涉 ...