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

相關文章
相關標籤/搜索