我已经设法在我的本地计算机(Windows)上使用LUA。现在我尝试将它放在我的开发服务器上( Debian 9 Apache 2.4.25 PHP 7.0.27-0 + deb9u1 和< strong> Lua 5.3.3 )。
几小时后,读取了几十个错误和数千个StackOverflow的页面,我终于能够手动编译和构建 PECL lua-2.0.5 并成功制作了apache模块。
我使用了$ a2enmod lua
。现在,在phpinfo()
我看到mod_lua
和其他人Loaded Modules
。
我可以从cli运行lua脚本。这里没问题。
我无法使用PHP脚本中的lua:
Fatal error: Uncaught Error: Class 'Lua' not found in [...]
即使在用新行编辑http://domain/path/to.lua
之后,我也无法通过Apache使用lua(通过/etc/apache2/apache2.conf
):
LoadModule lua_module modules/mod_lua.so
<Files "*.lua">
SetHandler lua-script
</Files>
4行没有任何明显的差异。
直接通过Apache(从URL)运行Lua脚本是可选的。但我真的需要能够从我的PHP脚本中解释Lua。但即使mod_lua
中的Loaded Modules
中显示phpinfo()
,PHP也无法找到类Lua
。为什么呢?
答案 0 :(得分:1)
构建扩展后必须启用它,一些安装脚本会为您完成。
取决于你的操作系统,php.ini做的可能会有所不同(ubuntu 16)
/etc/php/7.0/apache2/php.ini
/etc/php/7.0/CLI/php.ini
如果它有多个配置选项,您可以/应该在/etc/php/7.0/{CLI|apache2}/conf.d
下创建专用的extensionname.ini
命令行的快捷方式
$ php -dextension=/path/to/extension.so
或
$ phpenmod extensionname
对于php5,这个可以找到php5enmod
编辑:在您的情况下,您注意到要添加到.ini的行是extension=lua.so