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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM