Sto tentando di configurare il modulo mod_lua per Apache, ma ho riscontrato difficoltà nell'accedere a moduli Lua di terze parti. Dire che ho un hello_world.lua nella cartella htdocs di Apache che ha qualcosa di simile:Come configurare mod_lua in Apache per accedere ai moduli Lua di terze parti?
require "apache2"
function handle(r)
r.content_type = "text/html"
r:write "Hello World from <strong>mod_lua</strong>."
return apache2.OK
end
e vado a "http: //localhost/hello_world.lua", che funzionerà come previsto. Ma se provo ad aggiungere una linea come ad esempio:
require "socket"
O
require "cgilua"
ottengo il seguente output:
Errore!
tentativo di chiamare un valore nullo
Tuttavia, alcuni moduli do lavoro, come ad esempio:
require "base"
che funziona come previsto.
Se navigo in base.lua nel filesystem (c: \ program files \ lua \ 5.1 \ lua \ base.lua) e rimuovo questo file, quindi provo a eseguire il mio script ottengo lo stesso errore di cui sopra . Quindi questa deve essere la directory che mod_lua sta controllando per i moduli. Le DLL di moduli non si trovano in questa cartella, ma sono in c: \ program files \ lua \ 5.1 \ clibs \, che ho impostato per la variabile di ambiente LUA_CPATH.
Luasocket e cgilua sono entrambi presenti in questa cartella, ma causano un errore quando provo a richiedere loro nel mio script.
Da quello che ho potuto capire, funziona bene con tutti i moduli lua puri, ma tutto ciò che ha cmodules pure (socket, ecc) causa problemi.
Ulteriori informazioni:
- OS: Windows 7 Home Premium
- LUA_PATH = c: \ programmi \ Lua \ 5.1 \ Lua \
- LUA_CPATH = c: \ programmi \ lua \ 5.1 \ clibs \ versione
- Apache: la versione 2.2.22
- mod_lua: http://www.corsix.org/content/mod-lua-win32#comment-3214
Cosa è necessario fare per poter richiedere moduli in script eseguiti da mod_lua?
quindi, qualsiasi fortuna con il suggerimento suggerito qui sotto .....? – kartben