使用Lua和OpenResty搭建驗證碼服務(wù)器安裝 Lua-gd 庫

1.安裝lua

安裝編譯所需軟件包:

yum install -y make gcc

下載并編譯安裝 lua-5.1:

yum install -y readline-devel

wget http://www.lua.org/ftp/lua-5.1.4.tar.gz

tar -zxvf lua-5.1.4.tar.gz

cd lua-5.1.4

make linux

make linux install


2.安裝 gd

GD版本:gd-2.0.33

下載地址: http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

yum install -y libjpeg-devel libpng-devel freetype-devel fontconfig-devel libXpm-devel

wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

tar zvxf gd-2.0.33.tar.gz

cd gd-2.0.33

./configure

make && make install

3.安裝 Lua-gd 庫接寫來修改Makefile文件:

Lua-GD版本:lua-gd-2.0.33r2

說明:

須先完成gd的安裝,且版本號必須為gd-2.0.33 調(diào)用Lua-GD庫的lua代碼須由OpenResty中集成的LuaJIT解釋執(zhí)行

wget http://jaist.dl.sourceforge.net/project/lua-gd/lua-gd/lua-gd-2.0.33r2%20%28for%20Lua%205.1%29/lua-gd-2.0.33r2.tar.gz

tar zvxf lua-gd-2.0.33r2.tar.gz

cd lua-gd-2.0.33r2

注釋第36~42行

打開第48~52行注釋,并做如下修改

OUTFILE=gd.so

CFLAGS=-Wall `gdlib-config --cflags` -I/opt/openresty/luajit/include/luajit-2.1 -O3? ? //第49行,修改 lua 的 C 庫頭文件所在路徑

GDFEATURES=`gdlib-config --features |sed -e "s/GD_/-DGD_/g"`

LFLAGS=-shared `gdlib-config --ldflags` `gdlib-config --libs` -llua -lgd? //第51行,取消lua庫版本號51

INSTALL_PATH=/opt/openresty/luajit/lib/lua/5.1? ? //第52行,設(shè)置 gd.so 的安裝路徑

$(CC) -fPIC -o ...? //第70行,gcc 編譯,添加 -fPIC 參數(shù)

然后編譯:

$ make && make install

下面說一下遇到的坑: 編譯時遇到的問題 首先需要gdlib-config 命令 如果找不到需要配置環(huán)境變量:

export PATH=$PATH:/usr/local/bin/

另外遇到的問題是?libgd.so.2: cannot open shared object file: No such file or directory

原因是會默認(rèn)去/lib64 下面找這個文件 可是centos 默認(rèn)是把這個文件放到?/usr/local/lib/libgd.so.2目錄的

cp /usr/local/lib/libgd.so.2 /lib64

經(jīng)過上面的處理程序就可以正常調(diào)用驗證碼功能

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容