需求前瞻:
最近因需求,需要支持php调用现有的Lua代码,可以减少php的代码量,同时在维护上也比较方便,不会照成需求变更,需要同时修改两份代码
第一步:安装php7.0及以上版本,此处安装方法就略过
第二步:
官网下载最新lua安装包5.3.3
www.php.net官网搜索lua,下载php对应的lua包
http://php.net/manual/zh/book.lua.php 此处有详细的安装说明
切记php、lua、php的lua扩展包,这三个包的必须是相对应的版本,如php7.0及以上,扩展包lua-2.0.2,lua的版本必须5.2以上,否则会编译失败
扩展包下载地址:http://pecl.php.net/package/lua
解压后的安装包如果不存在configure文件,在该目录下执行phpize即可生成
configure带参数问题,可以查看该文件的说明,运行出错的话大部分就是缺失文件,直接在末尾加上参数“--with xxx=缺失文件路径”
错误处理:
编译源码如果失败,认真看失败原因,英文很渣的我都是一字一句的翻译,其实多看看也就习惯了
如5.3.3版本的lua直接使用默认makefile编译安装后,安装扩展时,当链接liblua.a报错,提示:recompile with fpic,此时就需要删除已安装的lua版本,执行make uninstall即可,修改makefile文件,编译选项加上 -fpic即可,重新编译安装
PS:PHP所有支持扩展均可到http://pecl.php.net下载,官方也均有提供安装及使用方式,认真查阅文档即可,configure --help可查看支持版本等信息
知其然知其所以然