centOS7.2下編譯擴展安裝php7.0.8的GD庫

本人很懶,很少寫博客。

最近內心比較糾結,有些坑踩過過了不算晚,得記錄一下,避免後人再踩


系統環境:centOS7.2 (阿里雲服務器)

PHP版本:php7.0.8 源碼編譯安裝(http://cn2.php.net/distributions/php-7.0.8.tar.gz


編譯安裝必需的依賴包

yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel  libmcrypt libmcrypt-devel 

編譯配置信息如下

 ./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include  --mandir=/usr/local/php7/php/man --libdir=/usr/local/php7/lib/php --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/run/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-dg --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-shared --enable-xml --enable-bcmatch --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-dg-native-ttf --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --enable-fpm --with-freetype-dir --enable-opencache --enable-fastcgi --without-gdbm --disable-fileinfo


編譯安裝完了之後需要些基本的配置下,什麼www.conf,php-fpm,php.ini,phpize啥的,樓主就當你們都配置好了,可以正常運行php了



下面說說編譯安裝GD庫

進入源碼的解壓文件夾內


樓主的源碼包是php-7.0.8,內部有個叫ext的文件夾,裏面全是php的擴展源碼包,我們進入gd文件夾


目前gd文件夾只有這些,其中config.m4很重要,所有其他的配置信息都需要從他來衍生


在gd目錄下執行 phpize(安裝好php後自行安排phpize的位置,樓主cp到usr/bin/目錄下,所以可以直接調用)


執行結果如下:


報錯了,說沒有發現autoconf,好,那咱安裝一個

yum install autoconf



安裝完後在再執行phpize


沒問題了,可以繼續

ls一下,發現當前目錄下多了很多東西



執行下面的命令,配置擴展


發現配置失敗了



說是沒找到webp和jpeg的目錄,檢查一下是否安裝

發現沒有安裝相關的動態庫,俺就安裝一波

yum install freetype freetyp-devel libwebp libwebp-devel libjpeg libjpeg-devel libpng libpng-devel (這裏統一列出)


查看系統安裝的動態庫的位置




找到位置後,在configure中指定路徑




如果執行後出現下面這種結果,error : png.h not found



說明你沒有安裝libpng-devel,用yum安裝一下就好

配置成功的結果如下



然後就是make 和 make install了


打開擴展目錄發現gd.so已經在目錄中



下面要做的就是加到php.ini中了



由於樓主沒有把編譯安裝的php加入系統service中,所以需要kill掉再啓動==



執行php-fpm啓動php

然後去頁面打印出phpinfo(),就能看到gd了



好了,又記錄了一個坑==


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章