博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
openresty安装及使用LuaXml
阅读量:6031 次
发布时间:2019-06-20

本文共 1891 字,大约阅读时间需要 6 分钟。

  hot3.png

##安装LuaXml 下载 然后修改Makefile

# 2009-03-16 by gf# generic compiler and linker settings:CC     = gccINCDIR = -I/usr/local/openresty/luajit/include/luajit-2.1LIB    = LIBDIR =  -L. -L/usr/local/openresty/luajit/libCFLAGS = -Os -Wall -c #-g# generic platform specific rules:ARCH            = $(shell uname -s)ifeq ($(ARCH),Linux)  CFLAGS += -fPIC  LFLAGS =  -fPIC -shared  LIBS          = $(LIBDIR) $(LIB) -lluajit-5.1 -ldl  EXESUFFIX =  SHLIBSUFFIX = .soelse    ifeq ($(ARCH),Darwin) # MacOSX    LFLAGS = -bundle     LIBS          = $(LIBDIR) -L/usr/local/lib $(LIB) -lluajit-5.1    EXESUFFIX = .app    SHLIBSUFFIX = .so      else  # windows, MinGW    LFLAGS =  -shared    LIBS          = $(LIBDIR) $(LIB) -llua51 -mconsole -s    EXESUFFIX = .exe    SHLIBSUFFIX = .dll  endifendif# project specific targets:all:  LuaXML_lib$(SHLIBSUFFIX)# project specific link rules:LuaXML_lib$(SHLIBSUFFIX): LuaXML_lib.o	$(CC) -o $@ $(LFLAGS) $^ $(LIBS) # project specific dependencies:LuaXML_lib.o:  LuaXML_lib.c# generic rules and targets:.c.o:	$(CC) $(CFLAGS) $(INCDIR) -c $

主要修改如下几个地方:

INCDIR = -I/usr/local/openresty/luajit/include/luajit-2.1LIBDIR =  -L. -L/usr/local/openresty/luajit/libLIBS          = $(LIBDIR) $(LIB) -lluajit-5.1 -ldlLIBS          = $(LIBDIR) -L/usr/local/lib $(LIB) -lluajit-5.1LIBS          = $(LIBDIR) $(LIB) -llua51 -mconsole -s

拷贝到openresty/openresty:1.11.2.1-trusty镜像实例中,然后再此基础上编译

make clean && make

然后拷贝LuaXML_lib.so以及LuaXml.lua到/usr/local/openresty/lualib/

##使用luaxml

require "LuaXml"    xml = require "xml"    local resp = xml.eval(xmlStr)    local oktag = resp:find("ok")    local ok = oktag[1]    ngx.log(ngx.INFO,"ok tag:"..ok)
  • 关于xml 如果不require "xml",而是直接用xml的话,则第二次请求会报错
attempt to index global 'xml' (a nil value)
  • 关于eval 返回的是lua table,通过find出来,也是一个table,取出相应的值接口,如果是单值,取数组第一个,比如xmlStr是
false

##doc

转载于:https://my.oschina.net/go4it/blog/842877

你可能感兴趣的文章
cronexpression 详解
查看>>
一周小程序学习 第1天
查看>>
小孩的linux
查看>>
SpringMVC、MyBatis声明式事务管理
查看>>
开发者详解:端游及手游服务端的常用架构
查看>>
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
php闭包语法学习
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务 (七)高可用的分布式配置中心(Spring Cloud Config)...
查看>>
Oozie与Coordinator调度讲解及系统时区配置与定时触发两种配置方式
查看>>
RGB_YUV_YCbCr
查看>>
tesseract 安装及使用
查看>>
优化SqlServer--数据压缩
查看>>
SharePoint 自定义WebPart之间的连接
查看>>
231. Power of Two
查看>>