Centos7下PHP安裝gd庫的實(shí)例講解
Centos7下安裝php, 或php的gd庫支持,都是很簡單的。
一切通過yum搞定。
yum install php-gd
以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了?
可是,如果需要采用不同版本的php時(shí),那就是相當(dāng)?shù)穆闊?,?jīng)過摸索,筆者找到了一個(gè)較為簡單的方式。
由于需要與系統(tǒng)原生版本共存多個(gè)php版本,那么你要求的版本必須采用源碼編譯。(如果有其他辦法,請(qǐng)記得回復(fù)告知一下我)
那么,編譯php-gd的支持,網(wǎng)上大多都是通過編譯freetype, libpng, libjpeg…好復(fù)雜,筆者通過一一嘗試,發(fā)現(xiàn)還是不成功!?。。『髞戆l(fā)現(xiàn),自己編譯的gd庫沒有包含jpeg和libpng的支持。
(通過查看自己編譯的動(dòng)態(tài)庫文件的依賴關(guān)系ldd libgd.so.2)
注意:如果通過自己編譯源碼的方式,你成功的在源碼版本的php中看到了gd支持png,那么恭喜你,你太幸運(yùn)了。
下面來說說我的方法:
盡可能的使用系統(tǒng)的庫,或者yum源可以安裝的庫,比如gd, libpng, libjpeg, libfreetype…一切,centos的源都已經(jīng)準(zhǔn)備好,我們只是希望一個(gè)不同版本的php而已。由于我們需要源碼編譯php,所以需要安裝對(duì)應(yīng)的源碼版本,及帶devel標(biāo)識(shí)的版本。
yum install libpng libpng-devel libjpeg-turbo libjpeg-turbo-devel freetype freetype-devel gd
在php源碼目錄下:如果出現(xiàn)未定義gdXXX函數(shù)錯(cuò)誤,需要clean一下編譯的結(jié)果。
make clean
再重新make一下:
‘./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)目錄下的版本(省時(shí)省力哦)。
如此安裝后,gd庫就按照ok了,新生產(chǎn)的libphp5.so文件已經(jīng)安裝到了指定的apache的moduls目錄了。
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
為什么我們可以省力呢?應(yīng)為centos安裝的gd庫已經(jīng)把jpeg, png等庫都已經(jīng)連接好了。通過ldd liggd.so.2 就可以證明:
[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庫的實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux用戶source .bashrc或.profile找不到文件的解決
這篇文章主要介紹了linux用戶source .bashrc或.profile找不到文件的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
基于Linux網(wǎng)關(guān)服務(wù)器squid配置過程詳解
本篇文章小編將為大家介紹,基于Linux網(wǎng)關(guān)服務(wù)器squid配置過程詳解,需要的朋友可以參考一下2013-04-04
動(dòng)態(tài)庫調(diào)用靜態(tài)庫示例講解
一個(gè)應(yīng)用程序調(diào)用動(dòng)態(tài)庫, 而這個(gè)動(dòng)態(tài)庫其中的函數(shù)調(diào)用某靜態(tài)庫時(shí),如何生成應(yīng)用程序呢?看下面的代碼就明白了2013-12-12
教大家?guī)追N在Linux系統(tǒng)中查看時(shí)區(qū)的方法
Linux 包含多種可用的時(shí)間管理工具,比如 date 或 timedatectlcommands,你可以用它們來獲取當(dāng)前系統(tǒng)時(shí)區(qū),也可以將系統(tǒng)時(shí)間與 NTP 服務(wù)器同步,來自動(dòng)地、更精確地進(jìn)行時(shí)間管理。下面通過這篇文章來一起看看在Linux系統(tǒng)中查看時(shí)區(qū)的幾種不同方法。2017-01-01
Linux初始化系統(tǒng)盤后重新掛載數(shù)據(jù)盤方法
在本篇文章中我們給大家分享了Linux初始化系統(tǒng)盤后重新掛載數(shù)據(jù)盤的解決方法,有需要的朋友們可以參考下。2018-09-09

