当前位置: 首页 > 工具软件 > lua-gd > 使用案例 >

lua服务器验证怎么写,使用Lua和OpenResty搭建验证码服务器安装 Lua-gd 库

曹伟泽
2023-12-01

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 调用Lua-GD库的lua代码须由OpenResty中集成的LuaJIT解释执行

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行,设置 gd.so 的安装路径

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

然后编译:

$ make && make install

下面說一下遇到的坑: 编译时遇到的问题 首先需要gdlib-config 命令 如果找不到需要配置环境变量:

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

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

原因是会默认去/lib64 下面找这个文件 可是centos 默认是把这个文件放到 /usr/local/lib/libgd.so.2目录的

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

经过上面的处理程序就可以正常调用验证码功能

 类似资料: