为了搭建apache - lua 好不容易从网上下载到了 mod_lua.so 的windows版本
但是始终搞不成,找了N天才发现 这玩意要 apache 2.3+的版本支持, 见此处?
但是 apache官方并无 2.3+以上版本 windows 的版本下载,终于找到一个位置
http://www.apachelounge.com/download/
?
下载了 32位的 apache 2.4的版本,其中便内置了? mod_lua.so o(∩_∩)o 哈哈
?
在 httpd.conf中开启这个模块,然后新增一行 AddHandler lua-script .lua
?
在 htdocs下新增 2个lua脚本文件来进行测试即可
?
info.lua
-- Extend tostring to report function type (C or Lua) do local type, tostr = type, tostring function tostring(obj) local type, val = type(obj), tostr(obj) if type == "function" then type = pcall(coroutine.create, obj) and "Lua " or "C " -- coroutines cannot start at a C function return type .. val else return val end end end local safe_replacements = { ["<"] = "<", [">"] = ">", ["&"] ="&", } local function safestring(...) return tostring(...):gsub("[<>&]", safe_replacements):gsub("\n", "<br/>\n") end local function emstring(...) return ""<em>".. safestring(...) .."</em>"" end local function print_info(info) print [[ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>mod_lua info</title> <style type="text/css"> body { background-color: #eef; color: black; font-family: sans-serif; } table { border-collapse: collapse; text-align: left; margin-left: auto; margin-right: auto; } table.head th { vertical-align: middle; background-color: #99c; } div.center { text-align: center; } h1 { margin: 0; padding: 0.3em 0; } td, th { border: 1px black solid; vertical-align: baseline; font-size: 75%; } th { background-color: #ccf; } td { background-color: #ccc; } ul { list-style: square; margin: 0; padding-left: 2em; } </style> </head> <body> <div class="center"> <table class="head" width="600"> <tr> <th><h1>mod_lua</h1></th> </tr> </table> ]] for group, settings in pairs(info) do print('<h2><a name="'.. group:gsub("[^a-zA-Z]", "") ..'">'.. group .. "</a></h2>") print [[ <table width="600"> ]] for key, value in pairs(settings) do print("<tr> <th>".. key .."</th> <td>".. value .."</td> </tr>\n") end print "</table>\n" end print [[ </div> </body> </html> ]] end local function compile_info(req) local info = {} do -- Lua compile options local dump = string.dump(function() end) local gc_pause = collectgarbage("setpause", 1); collectgarbage("setpause", gc_pause) local gc_stepmul = collectgarbage("setstepmul", 2); collectgarbage("setstepmul", gc_stepmul) info["Lua configuration"] = { -- Bytecode header is undocumented, see luaU_header in lundump.c Version = ("%i.%i"):format(math.floor(dump:byte(5) / 16), dump:byte(5) % 16), Endianness = dump:byte(7) == 1 and "little" or "big", int = dump:byte(8)*8 .. " bit integer", size_t = dump:byte(9)*8 .. " bit integer", ["VM instruction"] = dump:byte(10)*8 .. " bit integer", Number = dump:byte(11)*8 .. " bit " .. (dump:byte(12) == 1 and "integer" or "float"), -- package.config is undocumented, see luaopen_package in loadlib.c ["Path seperator"] = safestring(package.config:sub(1,1)), ["Lua package path"] = safestring(package.path:gsub(package.config:sub(3,3), "\n")), ["C package path"] = safestring(pac