这次的应用场景是这样:用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)
然后看ngx_lua的wiki,找到一个配置
init_by_lua_file '/path/to/file.lua';
附:ngx_lua的wiki网址:http://wiki.nginx.org/HttpLuaModule