Centos7下PHP安裝gd庫(kù)的實(shí)例講解
Centos7下安裝php, 或php的gd庫(kù)支持,都是很簡(jiǎn)單的。
一切通過(guò)yum搞定。
yum install php-gd
以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了?
可是,如果需要采用不同版本的php時(shí),那就是相當(dāng)?shù)穆闊?,?jīng)過(guò)摸索,筆者找到了一個(gè)較為簡(jiǎn)單的方式。
由于需要與系統(tǒng)原生版本共存多個(gè)php版本,那么你要求的版本必須采用源碼編譯。(如果有其他辦法,請(qǐng)記得回復(fù)告知一下我)
那么,編譯php-gd的支持,網(wǎng)上大多都是通過(guò)編譯freetype, libpng, libjpeg…好復(fù)雜,筆者通過(guò)一一嘗試,發(fā)現(xiàn)還是不成功?。。。『髞?lái)發(fā)現(xiàn),自己編譯的gd庫(kù)沒(méi)有包含jpeg和libpng的支持。
(通過(guò)查看自己編譯的動(dòng)態(tài)庫(kù)文件的依賴關(guān)系ldd libgd.so.2)
注意:如果通過(guò)自己編譯源碼的方式,你成功的在源碼版本的php中看到了gd支持png,那么恭喜你,你太幸運(yùn)了。
下面來(lái)說(shuō)說(shuō)我的方法:
盡可能的使用系統(tǒng)的庫(kù),或者yum源可以安裝的庫(kù),比如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庫(kù)就按照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庫(kù)已經(jīng)把jpeg, png等庫(kù)都已經(jīng)連接好了。通過(guò)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庫(kù)的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在CentOS中部署多節(jié)點(diǎn)Citus集群的詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于在CentOS中部署多節(jié)點(diǎn)Citus集群的詳細(xì)步驟,文中將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02Linux殺不死的進(jìn)程之CPU使用率700%解決方法
這篇文章主要給大家介紹了關(guān)于Linux殺不死的進(jìn)程之CPU使用率700%的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Linux宿主機(jī)下/容器下如何修改進(jìn)程打開(kāi)的文件句柄數(shù)(open files)
系統(tǒng)級(jí)的max-file和進(jìn)程級(jí)的ulimit-n分別控制文件句柄的最大數(shù)量,系統(tǒng)級(jí)限制整個(gè)系統(tǒng),而ulimit-n只限制單個(gè)進(jìn)程,當(dāng)進(jìn)程打開(kāi)的文件句柄數(shù)超限時(shí),會(huì)報(bào)“Too many files open”錯(cuò)誤,可以通過(guò)特定命令查看和修改這些值2024-10-10Linux下設(shè)置防火墻白名單(RHEL 6和CentOS 7)的步驟
下面小編就為大家?guī)?lái)一篇Linux下設(shè)置防火墻白名單(RHEL 6和CentOS 7)的步驟。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11Centos 6.8編譯安裝LNMP環(huán)境(Nginx+MySQL+PHP)教程
這篇文章主要介紹了關(guān)于CentOS 6.8中編譯安裝LNMP環(huán)境的相關(guān)資料,LNMP即Linux,Nginx,MySQL,PHP,文中通過(guò)一步步的步驟介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-03-03Linux之虛擬機(jī)和主機(jī)互通實(shí)現(xiàn)方式
這篇文章主要介紹了Linux之虛擬機(jī)和主機(jī)互通實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07