魏长东

weichangdong

lua 验证码

copy fron 阿里云栖(记录备用)

 

安装gd,GD版本:gd-2.0.33

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


安装 Lua-gd 库

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

下载地址: 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

开发手册可参考: http://ittner.github.io/lua-gd/manual.html

说明:

须先完成gd的安装,且版本号必须为gd-2.0.33 调用Lua-GD库的lua代码须由OpenResty中集成的LuaJIT解释执行

$ wget http://sourceforge.net/projects/lua-gd/files/lua-gd/lua-gd-2.0.33r2%20(for%20Lua%205.1)/lua-gd-2.0.33r2.tar.gz/download?use_mirror=jaist
$ tar zvxf lua-gd-2.0.33r2.tar.gz
$ cd lua-gd-2.0.33r2

接写来修改Makefile文件:

  • 注释第36~42行
  • 打开第48~52行注释,并做如下修改
OUTFILE=gd.so
CFLAGS=-Wall `gdlib-config --cflags` -I/usr/local/include/lua -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=/usr/local/lib/lua/5.1    //第52行,设置 gd.so 的安装路径

$(CC) -fPIC -o ...  //第70行,gcc 编译,添加 -fPIC 参数

然后编译:

$ make && make install

安装 LuaSocket 库

LuaSocket是一个Lua扩展库,它能很方便地提供SMTP、HTTP、FTP等网络议访问操作。

LuaSocket版本:luasocket-2.0-beta2

下载地址: http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0-beta2/luasocket-2.0-beta2.tar.gz

$ wget http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2/luasocket-2.0.2.tar.gz
$ tar zvxf luasocket-2.0.2.tar.gz
$ cd luasocket-2.0.2
$ make -f makefile.Linux

安装 redis-lua 库

Redis-Lua版本:2.0

下载地址: https://github.com/nrk/redis-lua/archive/version-2.0.zip

$ wget https://github.com/nrk/redis-lua/archive/version-2.0.zip
$ unzip redis-lua-version-2.0.zip
$ cd redis-lua-version-2.0

然后,拷贝redis.lua至所需目录。

lua调用方式如下:

local redis = require(“redis”)