文档章节

Openresty使用ffi调用.so

江湖夜雨
 江湖夜雨
发布于 2016/05/15 18:38
字数 194
阅读 48
收藏 0

目的:

在Lua中调用动态链接库,传递参数为字符串,返回0成功,其他失败。

方法:

local ffi = require("ffi") -- 加载FFI

local hntv = ffi.load("hntv_crypt") -- 加载动态库,此库依赖curl

ffi.cdef[[
    int verify_url(...); -- 定义要加载的方法
]]

local ret = hntv.verify_url("str1","str2") -- 调用

错误:

nginx: worker process: symbol lookup error: /usr/local/openresty/nginx/lua/libhntv_crypt.so: undefined symbol: curl_easy_init

原因:

需要加载libcurl

解决:

yum install libcurl-devel
yum install libcurl

Lua:

ffi.load("curl", true) -- 注意这个true!!!是加载到global里面的意思,这个尼玛坑了一天

最终代码:

local ffi = require("ffi")
ffi.load("curl", true)
local hntv = ffi.load("hntv_crypt")
ffi.cdef[[
int verify_url(...);
]]

 

© 著作权归作者所有

共有 人打赏支持
江湖夜雨
粉丝 0
博文 3
码字总数 323
作品 0
石景山
CEO
Openresty中使用LuaJit

今天在使用Openresty的时候,遇到了一个问题: local resty_sha1 = require "resty.sha1" 想使用resy.sha1的时候,出现了error,log如下: 2013/09/25 09:00:40 [error] 19620#0: *3 lua en...

timingbob
2013/09/25
0
0
Building openresty1.7.10.1 with luajit on windows

Building openresty1.7.10.1 with luajit on windows using Cygwin, 在windows下用Cygwin下编译带Luajit的openresty 2013-11-27 15:39 815人阅读 评论(0) 收藏 举报 (heeroz原创 )First i......

epiclight
2015/06/03
0
0
OpenResty(nginx扩展)实现防cc攻击

OpenResty(nginx扩展)实现防cc攻击 作者:朱 茂海 /分类:Nginx, 服务器安全 /Tag:OpenResty 文章目录 [隐藏] 一、安装依赖 二、luajit安装 三、openresty安装 四、nginx配置 防cc攻击,推荐使...

epiclight
2015/06/05
0
0
在 OS X 中使用 OpenResty

移除 lighttpd 在 Mac OS X 上安装lighttpd 的时候,我使用 launchctl 来实现 lighttpd 的自动启动。现在,只需要 unload 即可。 launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.li...

Surjur
2015/08/01
0
0
在 OSX 上用 openresty 架设自己的 Git Web Service

在 OSX 上用 openresty 架设自己的 Git Web Service 目录 - 介绍- 下载编译安装 openresty- 启动 openresty- 下载编译运行 sockproc 守护进程- 下载安装运行 codea-scm web 服务- 在 iPad 上...

FreeBlues
2015/06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring-boot | 日志

引言 好久不见,都还好吗? 大家都知道,我一般都是带来实用的东西,这次也一样,我们来试试项目开发中的日志处理。 理论知识 1、为什么要用日志?你是否因为项目出现问题,查找日志文件定位...

成都_小冯同学
12分钟前
0
0
dubbo下的补偿实现(一)

背景 由于前面几篇文章涉及的问题 分布式事务的思考 在我们微服务的场景下 各种本地事务都没有办法控制的很好。 A服务调用B服务 当B服务成功提交之后 A发生了异常 这种情况下要如何处理呢??...

Mr_Qi
21分钟前
2
0
HTML显示json字符串并且进行格式化

通过pre标签进行格式化展示,使用JSON.stringify()方法转换。 代码如下:   <html> <head> <title>HTML显示json字符串并且进行格式化</title> </head> <body> <p id="show_p">{ "name": "B......

writeademo
41分钟前
0
0
LNMP——php-fpm

php-fpm的pool •vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加include并删除我们之前www池子 • include = etc/php-fpm.d/*.conf • mkdir /usr/local/php/etc/php-fpm.d/ • ......

chencheng-linux
45分钟前
0
0
TensorFlow layers slim 模块搭建cnn对mnist分类,比较bn效果

shape变化 (?, 784)(?, 28, 28, 1)(?, 14, 14, 8)(?, 7, 7, 8)(?, 1, 1, 8)(?, 8)(?, 10) 结果对比,基本上还是有点用的 0.91725457 0.9232 0.9548 0.95530.9177273 0.9234 0....

阿豪boy
48分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部