安装readline
yum install readline-devel
检查是否安装成功
ls -l /usr/include/ | grep readline安装lua
curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz
tar zxf lua-5.2.3.tar.gz
cd lua-5.2.3修改安装目录,方便管理
vi Makefile
修改目录 INSTALL_TOP= /usr/local/lua
这一步很关键(就是因为这步,本人重装了无数次)
cd src && vi Makefile
在CFLAG一行 添加选项 -fPIC
make linux test
安装成功(有fplc过程很关键):安装php拓展
cd /tmp
wget http://pecl.php.net/get/lua-1.0.0.tgz
tar -zxvf lua-1.0.0.tgz
cd lua-1.0.0.tgz
/usr/local/php/bin/phpize
./configure –prefix=/usr/local/phplua –with-php-config=/usr/local/php/bin/php-config –with-lua=/usr/local/lua
make && make install
安装成功配置php拓展
vi /usr/local/php/etc/php.ini
添加以下内容
;phplua
extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
extension = “lua.so”
重启fastcgi
~/fastcgi_restart
查看以下phpinfo,看是否有安装成功安装过程和问题参考:
http://blog.sina.com.cn/s/blog_87b9bbc70100z04v.html
http://www.cnblogs.com/Jqxing/p/3480481.html使用
官方manual:http://php.net/manual/zh/class.lua.php
6.1 把Lua脚本include进来,可以直接执行Lua函数test.Lua
12345globalname = "From Lua";function LuaFunc(msg)print(globalname , ":", msg);endtest.php
123456$lua = new Lua();$lua->include("/Lua/test.lua");//使用方法一:$lua->call("LuaFunc", ["Hello Lua"]);//使用方法二:$lua->LuaFunc(["Hello Lua"]);6.2 解析策划配置表
123456789//实例化一个Lua$lua = new Lua();//注册国际化函数$lua->registerCallback("NSLocalizedString",function($var){return $var;});//解析Lua脚本文件$lua->include("data_item.lua");print_r($lua->data_item);6.3 解析Lua数据表
1234567$lua = new Lua();$php_var = '{name="andy",say="good job!"}';$lua->eval(<<<CODElua_var = $php_var;CODE);print_r($lua->lua_var);