blog icon indicating copy to clipboard operation
blog copied to clipboard

php安装lua扩展

Open luckyyyyy opened this issue 8 years ago • 0 comments

由于最近需要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 */ );

luckyyyyy avatar Sep 18 '17 00:09 luckyyyyy