Apache için mod_lua modülünü kurmaya çalışıyorum ama üçüncü taraf Lua modüllerine erişim konusunda zorluklarla karşılaştım. Böyle bir şey vardır Apache htdocs klasöründe bir hello_world.lua olduğunu varsayalım: beklendiği gibi çalışacağının, "//localhost/hello_world.lua http"Üçüncü taraf Lua modüllerine erişmek için Apache'de mod_lua nasıl ayarlanır?
require "apache2"
function handle(r)
r.content_type = "text/html"
r:write "Hello World from <strong>mod_lua</strong>."
return apache2.OK
end
Ve gitmek. Ama örneğin bir çizgi eklemeye çalışırsanız:
require "socket"
Ya
require "cgilua"
aşağıdaki çıktıyı almak:
Hata! beklendiği gibi bu
require "base"
: Ancak bir nil değerini
aramaya
girişimi, bazı modüller gibi işi yapmak.
Dosya sistemindeki base.lua'ya (c: \ program files \ lua \ 5.1 \ lua \ base.lua) gider ve bu dosyayı kaldırırsam, betiğimi çalıştırmayı denerim. . Yani bu mod_lua'nın modülleri kontrol ettiği dizin olmalı. Modüller dlls bu klasörde değil, yerine onlar için ortam değişkenini LUA_CPATH kurdum c: \ program files \ lua \ 5.1 \ clibs \ 'dir.
Luasocket ve cgilua bu klasörde her ikisi de mevcut, ancak komut dosyamda bunları kullanmaya çalıştığımda bir hataya neden oluyorlar.
Toplayabildiğim kadarıyla, herhangi bir saf lua modülleriyle iyi çalışır, ancak aynı zamanda cmodüllere sahip olan herhangi bir şey (soket vb.) Sorunlara neden olur.
Ek bilgi: \ Program Files \ lua 5.1 \ lua \ \
- OS: = c Windows 7 Home Premium
- LUA_PATH \
- Apache sürüm \ 5.1 \ clibs: 2.2.22
- mod_lua versiyonu: http://www.corsix.org/content/mod-lua-win32#comment-3214
Mod_lua tarafından çalıştırılan komut dosyalarında modül gerektirebilmek için ne yapılmalı? Eğer (veya .htaccess, ... küresel yapılandırma dosyasında) Sitenize yapılandırmasına LuaPackageCPath ve/veya LuaPackagePath direktifleri eklemeniz gerekir gibi
Yani, aşağıda önerilen tavsiye ile herhangi bir şans .....? – kartben