需求前瞻:

  最近因需求,需要支持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可查看支持版本等信息

  知其然知其所以然  

转载于:https://www.cnblogs.com/Lucky-qin2013/p/6083669.html

来源:https://blog.csdn.net/weixin_30847939/article/details/98092790

php7.0支持调用lua脚本相关推荐

  1. redis调用lua脚本注意事项

    使用脚本的好处: 减少网络开销.可以将多个请求通过脚本的形式一次发送,减少网络时延 原子操作.redis会将整个脚本作为一个整体执行,中间不会被其他命令插入.因此在编写脚本的过程中无需担心会出现竞态条 ...

  2. Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本

    Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本 首先参考http://wiki.chumby.com/index.php?title=Lua&print ...

  3. 详解C调用lua脚本效率测试

    详解C调用lua脚本效率测试 C调用lua脚本效率测试是本文要介绍的内容,以下代码以C语言为基准,测试了C调用Lua循环和循环调用Lua的效率.结论是不要频繁地穿越C/Lua边界. #include  ...

  4. 记录一次rediscluster 调用lua 脚本, 用于 list 批量获取

    记录一次rediscluster 调用lua 脚本 用于 list 批量获取 需求:用redis list 当作消息队列(原来的流程固定不能变更),需要增加消费速度 改进方案的思想(不考虑业务逻辑变更 ...

  5. Java调用Lua脚本(热载实现)

    前言: Lua作为解析执行的脚本语言, 往往是易变逻辑编写的首选语言, 尤其是在游戏领域. C/C++和Lua的结合, 往往了标配. 比如Redis, Nginx其对Lua的支持, 也是杠杠的. 当然 ...

  6. c调用lua脚本语言入门,Lua脚本语言入门及魔兽争霸中的Lua函数调用

    在这篇文章中,我想向大家介绍如何进行Lua程序设计及魔兽争霸中的Lua函数调用.我假设大家都学过至少一门编程语言,比如Basic或C,特别是C.因为Lua的***用途是在宿主程序中作为脚本使用的. L ...

  7. 在C/C++中调用LUA脚本简介

    简介 LUA脚本是一种可以嵌入C/C++模块的解释型语言,解释性语言与C/C++之类的编译型语言比较优点在于它无需重新编译即可生效,在处理得当的情况下甚至不需要停下程序.LUA只内置了一个功能简单的库 ...

  8. projectanarchy中 调用Lua 脚本

    引言 Vision 的 Lua 编辑工具组提供多种节省时间的功能,例如代码完成和预定义代码模板.  重要说明: 请注意,我们采用 SWIG 封装 Lua 中的 C++ 类,所以所有对象的行为都类似指针 ...

  9. C/C++ 如何调用Lua脚本,Windows以及Linux版本演示

    分为linux下和windows平台下: 前置工作,准备好lua安装包. 方法一(linux): 依次使用以下命令 得到安装包: wget http://www.lua.org/ftp/lua-5.2 ...

最新文章

  1. iOS之深入解析dispatch source的原理与功能
  2. 停车场管理系统c语言程序,c语言程序设计 停车场管理系统 停车场有1-20个车位号,设计一个停车场管理系统,实现停车场管理...
  3. python替换所有标点符号 正则_python 把标点符号替换为空
  4. COJ1196(Staginner 去爬山)
  5. TCP与UDP特点与区别
  6. 最长公共子序列(信息学奥赛一本通-T1265)
  7. java7教程_Java 7基础教程:掌握Java 7的理想起点
  8. 下载OneDrive共享的数据集
  9. jstl处理栏目与子栏目_深圳北易:网站SEO优化如何提高网站栏目页排名
  10. bzoj 1014: [JSOI2008]火星人prefix(splay维护区间+Hash+二分)
  11. Java权限管理系统完整案例
  12. linux uvc协议_linux uvc 深入理解(一)
  13. snipaste如何滚动截图_3款工具满足你对截图软件的所有想象
  14. windows筛选键
  15. APP STORE又崩了?可以通过DNS解决!
  16. 谢国忠-高房价伤害老百姓,破坏社会稳定
  17. 帮上百家客户完成数字化转型后,SAS开出了四剂药方应对变革焦虑
  18. python实现Content-Type: multipart/form-data; boundary=xxx接口的调用
  19. Win电脑截图黑屏解决办法
  20. Python海龟数据分析,第七次全国人口普查历年数据图表.py

热门文章

  1. QT的QDBusInterface类的使用
  2. c++STL算法基础
  3. 鸿蒙系统是单任务还是多任务,在鸿蒙系统上使用MQTT编程
  4. Azkaban安装部署,配置文件配置,启动等
  5. 9Linux服务器编程之:mkdir()函数和rmdir()函数
  6. Eclipse Memory Analyzer以及内存泄露的原因
  7. Android中contentProvider的用途
  8. 计算机对英语口语考试成绩,英语口语考试人机对话得分技巧
  9. Android 软键盘的全面解析,让你不再怕控件被遮盖
  10. Redis高级特性及优化