nginx+lua环境下,自定义lua方法的加载

这次的应用场景是这样:用PHP向redis写入了序列化的字符串,然后用Lua读出来的方式显示给用户。由于lua本身没有反序列化的函数,因此在网上找了一个,然后噩梦开始了……

这个文件并非按lua module的形式开发,只是单纯的定义了几个全局方法……

当nginx配置里lua_code_cache是关闭(开发机)的时候,在lua程序中使用require("modulename")后,再调用其中定义的函数则一点问题都没有

当开始了lua_code_cache后,第一次访问是正常的,第二次及以后访问则500……看nginx日志,记录了如下信息

attempt to call global 'unserialize' (a nil value)



后来想使用dofile这种方式加载文件,结果不知道文件该放在哪里……(我是笨蛋)

然后看ngx_lua的wiki,找到一个配置

init_by_lua_file '/path/to/file.lua';



于是问题搞定了……

附:ngx_lua的wiki网址:http://wiki.nginx.org/HttpLuaModule

你可能感兴趣的:(nginx,lua,Serialize)