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)用驗證碼功能