解決thinkphp5驗證碼在CentOS7上面無法顯示的問題

在做公司項目的過程中,發現在本地的驗證碼沒有問題,在linux上死活加載不出來,對着一張驗證碼圖片看了一天,才發現是php的GD庫沒安裝,折騰了好久,安裝GD庫也出現了好多問題!

我的php是源碼安裝的,

先安裝 gd 前置庫 : freetype ,jpegsrc,libpng。

1.freetype

wget  http://downloads.sourceforge.net/freetype/freetype-2.7.1.tar.bz2

tar jxvf freetype-2.7.1.tar.bz2

-----------------------------------------我是分割線----------------------------------------------------

如果解壓的時候出現以下錯誤,你可以嘗試着安裝bzip2,因爲可能是你解壓縮軟件沒安裝

tar (child): lbzip2: Cannot exec: No such file or directory 
tar (child): Error is not recoverable: exiting now 
tar: Child returned status 2 
tar: Error is not recoverable: exiting now

解決方法: yum install bzip2

-----------------------------------------我是分割線----------------------------------------------------

cd freetype-2.7.1

./configure --prefix=/usr/local/freetype

make && make install

2.jpegsrc

wget http://www.ijg.org/files/jpegsrc.v9.tar.gz

tar zxvf jpegsrc.v9.tar.gz
cd jpeg-9

CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg

make && make install

3.libpng

wget https://downloads.sourceforge.net/project/libpng/libpng16/1.6.34/libpng-1.6.34.tar.gz

tar zxvf libpng-1.6.34.tar.gz
cd libpng-1.6.34
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng
make && make install

接下來切換到php源碼的ext的gd目錄

cd /php-7.1.2/ext/gd

然後運行:/usr/local/bin/phpize

接着運行:./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype

make && make install

最後修改php.ini文件,添加一行 extension=gd.so

然後重啓apache:

cd /usr/local/apache/bin/

./apachectl stop

./apachectl start

netstat -tnlp #查看apache是否已經開啓

如果出現下面的就表示apache重啓成功

至此,GD庫安裝結束,驗證碼應該能看到了~

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