blog
blog copied to clipboard
php安装lua扩展
由于最近需要php解析lua,所以想到了laruence的php-lua扩展。 Pecl: http://pecl.php.net/package/lua
请注意,从 PHP 7 开始,需要使用2.0.0以上的版本,并且每个版本有最低的Lua版本限制,不可混用,最新版本 2.0.4 暂不支持 PHP 7.2。
安装和编译 Lua 比较简单,但是注意要修改编译时的参数。
http://www.lua.org/ftp/lua-5.3.4.tar.gz
tar zxvf lua-5.3.4.tar.gz
cd lua-5.3.4/src
修改Makefile,找到CFLAGS,添加-fPIC选项。
CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) -fPIC $(MYCFLAGS)
然后进行编译和安装
make linux
make install
查找一下liblua.awhereis liblua.a将其丢到/usr/lib
最后直接pecl install lua大功告成。
可以愉快的PHP中使用Lua了。
$lua = new Lua($lua_script_file = NULL);
$lua->eval("lua_statements"); // eval lua codes
$lua->include("lua_script_file"); // import a lua script
$lua->assign("name", $value); // assign a php variable to Lua
$lua->registerCallback("name", $function); // register a PHP function to Lua with "name"
$lua->call($string_lua_function_name, array() /* args */);
$lua->call($resouce_lua_anonymous_function, array() /* args */);
$lua->call(array("table", "method"), array(...., "push_self" => [true | false]) /* args */);
$lua->{$lua_function}(array() /* args */ );