Linux PHP接入C++标准DLL接口(非COM、非PHP扩展 )的解决方案

项目背景:部署在Linux平台上的PHP项目

需求:接入一个第三方系统,对方只提供了一个C++的标准DLL,非COM组件、更不是PHP扩展


    大家都知道DLL是Windows平台的,Linux平台对应的是SO,找对方交涉要求提供相应的SO文件,得到反馈暂时不能提供,要在Windows平台下进行= =!

    私下里琢磨,生成相应的SO文件并不是转换到Linux平台编译一下这么简单,一开始没有明确计划的话,代码的兼容性堪忧,赶鸭子上架临时对应的话,稳定性肯定会受到影响。所以这条路基本PASS,还是乖乖的考虑在2 个平台下怎么整合。

    初步预想是再准备一台Win Server服务器,第三方DLL运行在这台Win服务器,再在这台服务器上写一个DLL的宿主程序,PHP通过Http协议发送请求给这个宿主程序,宿主程序调用DLL以Json形式返回结果给PHP。这样一条路虽然纠结点,但是差不多走通了。


    DLL的宿主程序选择了Java,使用JNA访问DLL,网上实例很多。PHP好像可以使用DynamicWrapper.dll调用,没有具体去试验过。JNA的解决方案个人觉得更成熟点,所以选择了使用Java做宿主程序,另外推荐一个轻量级Java框架JFinal,真的很好用。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值