Centos7下安裝php, 或php的gd庫支持,都是很簡單的。
一切通過yum搞定。
1
|
yum install php-gd |
以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了?
可是,如果需要采用不同版本的php時,那就是相當?shù)穆闊涍^摸索,筆者找到了一個較為簡單的方式。
由于需要與系統(tǒng)原生版本共存多個php版本,那么你要求的版本必須采用源碼編譯。(如果有其他辦法,請記得回復告知一下我)
那么,編譯php-gd的支持,網上大多都是通過編譯freetype, libpng, libjpeg…好復雜,筆者通過一一嘗試,發(fā)現(xiàn)還是不成功!!!!后來發(fā)現(xiàn),自己編譯的gd庫沒有包含jpeg和libpng的支持。
(通過查看自己編譯的動態(tài)庫文件的依賴關系ldd libgd.so.2)
注意:如果通過自己編譯源碼的方式,你成功的在源碼版本的php中看到了gd支持png,那么恭喜你,你太幸運了。
下面來說說我的方法:
盡可能的使用系統(tǒng)的庫,或者yum源可以安裝的庫,比如gd, libpng, libjpeg, libfreetype…一切,centos的源都已經準備好,我們只是希望一個不同版本的php而已。由于我們需要源碼編譯php,所以需要安裝對應的源碼版本,及帶devel標識的版本。
1
|
yum install libpng libpng-devel libjpeg-turbo libjpeg-turbo-devel freetype freetype-devel gd |
在php源碼目錄下:如果出現(xiàn)未定義gdXXX函數(shù)錯誤,需要clean一下編譯的結果。
1
|
make clean |
再重新make一下:
1
|
‘./configure' ‘–with-mysql' ‘–with-apxs2=/usr/local/apache2/bin/apxs' ‘–with-curl' ‘–with-gd' ‘–with-jpeg-dir' ‘–with-png-dir' ‘–with-freetype-dir' |
注意:這里我們不需要指定具體的gd, jpeg, png, freetype目錄的位置,直接采用系統(tǒng)目錄下的版本(省時省力哦)。
如此安裝后,gd庫就按照ok了,新生產的libphp5.so文件已經安裝到了指定的apache的moduls目錄了。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
GD Support enabled GD Version bundled (2.1.0 compatible) FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.4.11 GIF Read Support enabled GIF Create Support enabled JPEG Support enabled libJPEG Version 6b PNG Support enabled libPNG Version 1.5.13 WBMP Support enabled XBM Support enabled |
為什么我們可以省力呢?應為centos安裝的gd庫已經把jpeg, png等庫都已經連接好了。通過ldd liggd.so.2 就可以證明:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[root@iZ25mdbcou0Z ~]# ldd /usr/lib64/libgd.so.2 linux-vdso.so.1 => (0x00007fff591fe000) libXpm.so.4 => /lib64/libXpm.so.4 (0x00007f91ed0c8000) libX11.so.6 => /lib64/libX11.so.6 (0x00007f91ecd8a000) libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f91ecb34000) libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f91ec8f8000) libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f91ec652000) libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f91ec426000) libz.so.1 => /lib64/libz.so.1 (0x00007f91ec210000) libm.so.6 => /lib64/libm.so.6 (0x00007f91ebf0e000) libc.so.6 => /lib64/libc.so.6 (0x00007f91ebb4c000) libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f91eb92b000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f91eb727000) libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f91eb4fc000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f91eb2e0000) /lib64/ld-linux-x86-64.so.2 (0x00007f91ed52b000) libXau.so.6 => /lib64/libXau.so.6 (0x00007f91eb0dc000) |
以上這篇Centos7下PHP安裝gd庫的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/yin138/article/details/51100830