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,真的很好用。。。
需求:接入一个第三方系统,对方只提供了一个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,真的很好用。。。
相关文章推荐
- Linux下用C++作php扩展的问题
- C#调用C++编写的COM DLL封装库的问题解决方案
- linux下php实现C/C++扩展编程
- Linux下C++实现PHP扩展中级应用(一)
- Linux下用C++开发PHP扩展
- Linux下使用C++来编写PHP扩展库
- [转载]用c写PHP的扩展接口(php5,c++)
- 【转】[转载]用c写PHP的扩展接口(php5,c++)
- Linux下用C++开发PHP扩展
- Linux中安装PHP的pdo_mysql扩展的详细解决方案
- Linux中安装PHP的ZendGuardLoader扩展的详细解决方案
- Linux中安装PHP的PDO MySQL扩展的详细解决方案
- linux下php实现C/C++扩展编程
- linux下php实现C/C++扩展编程
- Memcached在Linux系统下的安装和PHP开启 Memcached的 扩展 超级解决方案
- Linux下调用C++源码写PHP扩展
- c#调用c++dll接口及回调函数
- php linux 环境安装配置 及 扩展安装
- linux上编译好的php添加memcache扩展
- linux php安装redis扩展