centos 7 php安装gd库

最近闲来无事做了个商城,本地测试没问题,移到服务器上发现,php没装gd库 

好吧,那就装个, linux 下安装PHP拓展的方法大同小异,注意有些库要依赖别的库,所以我们要先装依赖包

     gd库主要是用来图像渲染的。gd库依赖以下libjpeg、libpng、freetype2、xpm等安装库。在php中启用gd扩展有两种方式一个是动态编译方式,一个是静态编译方式。动态编译方式不需要重新编译php,静态编译方式必须重新编译php。但是无论是动态编译还是静态编译都要先安装gd的相关依赖库文件,并且在编译gd时加到configure参数中。

1、安装xpm
   yum install libXpm-devel
2、安装zlib
  wget http://zlib.net/zlib-1.2.11.tar.gz
  tar -xzvf zlib-1.2.11.tar.gz
  cd zlib-1.2.11
  ./configure
  make && make install
  make clean && make distclean
  cd ../

3、安装libjpeg jpeg-9b
  wget http://www.ijg.org/files/jpegsrc.v9b.tar.gz
  tar -xzvf jpegsrc.v9b.tar.gz
  cd jpegsrc.v9b
  ./configure --prefix=/usr/lib64 --enable-shared --enable-static

  make && make instll
  make clean && make distclean
  libtool --finish /usr/local/jpeg/lib
  cd ../


4、安装libpng

  wget https://nchc.dl.sourceforge.net/project/libpng/libpng16/1.6.37/libpng-1.6.37.tar.gz 

  tar -xzvf libpng-1.6.37.tar.gz

  cd libpng-1.6.37 

  ./configure --enable-shared --enable-static

  make && make install

  make clean && make && make distclean

  cd ../

5、安装freetype2
  wget http://download.savannah.gnu.org/releases/freetype/freetype-2.7.tar.gz
  tar -xzvf freetype-2.7.tar.gz
  cd freetype-2.7
  ./configure --prefix=/usr/lib64
  make && make install
  make clean && make distclean
  cd ../


6、gd安装
   php安装时使用--with-gd必须要执行以下命令,在直接安装gd库是不需要试用-dir,但是在php安装的时候需要-dir
 

  wget https://github.com/libgd/libgd/releases/download/gd-2.2.3/libgd-2.2.3.tar.gz

  tar -xzvf libgd-2.2.3.tar.gz
  cd libgd-2.2.3

  ./configure --prefix=/usr/lib64 --with-jpeg=/usr/lib64 --with-png=/usr.lib64 --with-zlib --with-freetype=/usr/lib64

  make && make install
  make clean && make distclean
  cd ../

7、php安装gd库
   静态编译
./configure \
--prefix=/usr/local/cp-php-5.6.19 \
--with-apxs2=/usr/local/cp-httpd-2.4.18/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-png-dir=/usr/lib64 \
--with-jpeg-dir=/usr/lib64 \
--with-freetype-dir=/usr/lib64 \
--with-zlib-dir==/usr/lib64 \
--with-xpm-dir=/usr/lib64/ \
--with-gd=/usr/lib64 \
--with-openssl \
--with-curl \
--with-config-file-path=/usr/local/cp-php-5.6.19/lib \
--enable-calendar \
--enable-mbstring \
--enable-sockets \
--enable-xml \
--enable-json \
--enable-pdo \
--enable-libxml \
--enable-simplexml \
--enable-xmlreader \
--enable-xmlwriter

   动态编译
cd php-5.6.19/ext/gd/
phpize

./configure \
--prefix=/usr/lib64 \
--with-jpeg=/usr/lib64 \
--with-png=/usr.lib64 \
--with-zlib \
--with-freetype=/usr/lib64

make && make install
make clean && make distclean
cd ../

这里我使用的是动态编译

编译完后,重启nginx 发现gd库并没有加上

继续查,发现还要修改php.ini文件

查找gd文件路径   gd路径在你的PHP安装包的/ext文件下  也可以使用  find / -name gd  查找

打开php.ini文件。

源码是 ;extension_dir = "./"此处我们将前面的分号去掉。 即 ;extension_dir = "/usr/local/php/php-5.4.9/ext/" 同上诉的路径

接着要在php.ini文件中找到extension的扩展文件区域,增加一句 extension = gd.so,此处前面没有分号。

重启nginx 后 发现gd扩展还没加上。。。。。

发现之前的 extension = gd.so 的改改,,gd.so的改为文件的路径,  使用 find / -name gd.so 查找 gd.so的路径后,将

extension = gd.so 改为 extension = 你查到的完整路径

重启nginx 后 发现gd扩展还没加上。。。。。

继续查,发现  ,,重启nginx 是没用的,,,的重启php-fpm 。

killall php-fpm 

php-fpm

如果你输入php-fpm 提示没有这个命令,说明你没有把它加入命名空间,如果你不想加的话。 find / -name php-fpm 找到文件路径,执行以下是一样的

刷新页面,,,,ok了。

参考资料:

https://blog.csdn.net/zouqingfang/article/details/52524379

https://blog.csdn.net/cymen/article/details/72885545

https://www.imooc.com/article/35796

https://www.xuebuyuan.com/3280770.html

猜你喜欢

转载自www.cnblogs.com/Miss-Lu/p/12787861.html
今日推荐