您的位置:首页 > 运维架构 > Linux

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

2015-05-06 08:40 381 查看
项目背景:部署在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,真的很好用。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: