Estoy intentando configurar el módulo mod_lua para Apache, pero he tenido dificultades para acceder a los módulos Lua de terceros. Decir que tengo un hello_world.lua en la carpeta htdocs de Apache que tiene algo como esto:¿Cómo configurar mod_lua en Apache para acceder a módulos de Lua de terceros?
require "apache2"
function handle(r)
r.content_type = "text/html"
r:write "Hello World from <strong>mod_lua</strong>."
return apache2.OK
end
Y yo vaya a "http: //localhost/hello_world.lua", que funcionará como se espera. Pero si intento agregar una línea como:
require "socket"
O
require "cgilua"
me sale el siguiente resultado:
Error!
intento de llamar a un valor nulo
Sin embargo, algunos módulos de hacer el trabajo, tales como:
require "base"
que funciona como se esperaba.
Si navego a base.lua en el sistema de archivos (c: \ archivos de programa \ lua \ 5.1 \ lua \ base.lua) y elimino este archivo, intento ejecutar mi script obtengo el mismo error que el indicado anteriormente . Entonces este debe ser el directorio que mod_lua está buscando módulos. Los módulos dlls no están en esta carpeta, sino que están en c: \ archivos de programa \ lua \ 5.1 \ clibs \, que configuré para la variable de entorno LUA_CPATH.
Luasocket y cgilua están presentes en esta carpeta, pero causan un error cuando intento solicitarlos en mi script.
Por lo que puedo deducir, funciona bien con cualquier módulo lua puro, pero cualquier cosa que tenga cmodules (socket, etc.) causa problemas.
Otros detalles:
- SO: Windows 7 Home Premium
- LUA_PATH = c: \ archivos de programa \ lua \ 5.1 \ lua \
- LUA_CPATH = c: \ archivos de programa \ lua \ 5.1 \ \ clibs versión
- Apache: versión 2.2.22
- mod_lua: http://www.corsix.org/content/mod-lua-win32#comment-3214
¿Qué hay que hacer para poder solicitar módulos en scripts ejecutados por mod_lua?
así que, ¿alguna suerte con los consejos sugeridos a continuación .....? – kartben