本人很懶,很少寫博客。
最近內心比較糾結,有些坑踩過過了不算晚,得記錄一下,避免後人再踩
系統環境:centOS7.2 (阿里雲服務器)
PHP版本:php7.0.8 源碼編譯安裝(http://cn2.php.net/distributions/php-7.0.8.tar.gz)
編譯安裝必需的依賴包
編譯配置信息如下
./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了
好了,又記錄了一個坑==