php连接sap笔记

目前php连接sap测试了2种方法
1:saprfc
2:sapnwrfc

首先来说第一种:saprfc
经测试,第一种方法只能支持到php5.2.17,再高版本就不行了,貌似是开发者后来不干了,

使用方法很简单,下载saprfc-1.4.1.zip压缩包,下载地址:https://sourceforge.net/projects/saprfc/files/saprfc/1.4.1/saprfc-1.4.1.All.zip/download,把里面的php_saprfc_528.dll放进php的ext文件夹里,然后在php.ini里添加一句extension=php_saprfc_528.dll即可

缺点就是php的版本实在太旧,基本就是鸡肋的存在,虽然网上也找到支持php5.6的saprfc5.6.dll,但实际测试都是无效的

然后说说第二种:sapnwrfc
这种方式经过几天的反复测试,终于成功搞定,最低需要php7.0才行,而且目前还在不断升级,已经支持php8.0了,

使用方法略复杂,sap官网下载NWRFC_39-20004566.SAR(win7 64位适用),这里也有个坑,官网是不开放的,得有sap账号,只能找同事帮忙下载,用sap专用的解压工具解压后是一个nwrfcsdk文件夹,放c盘,比如C:\nwrfcsdk,计算机属性里的环境变量里,设置好path的路径指向到lib,比如C:\nwrfcsdk\lib,这个路径有实时生效和重启生效的问题,保险起见可以重启下

然后,还要弄一个dll文件放php的ext才行,https://github.com/gkralik/php7-sapnwrfc/releases,这个网址里有源码,可以自己编译,也可以直接在这个网址里找,没有的话就只能自己编译了,我下载的是php_sapnwrfc-1.0.0-7.0-vc14-nts-x86.dll(win7 64位适用),再然后php.ini里添加一句extension=php_sapnwrfc-1.0.0-7.0-vc14-nts-x86.dll即可

复杂的地方在于sdk分32和64位,而且那个放ext的dll也分32和64位,而且还要安装对应的vc,不然就是各种报错,

一开始以为32位和64位是系统的,后来才发现,是软件的,比如用的phpStudy,如果是32位的phpStudy,就要全部用32位的sdk和dll,如果是64位的phpStudy,就要全部用64位的sdk和dll

这是第二种方法的详细资料网址,https://github.com/yuanhuiqiang/php7-sapnwrfc,github你懂的,常常会打不开,只能换个时间访问,里面有英文版和中文版的说明文档,一开始偷懒看的中文版,居然内容缺失,导致走了很多弯路,后来看了英文版说明文档才发现问题,

缺点:
支持的php版本太高了,因为我的系统是php5.4,然后第一种方法版本太低,第二种方法版本太高,坑啊。。。不知道有没有哪位大神能提供php5.4连接sap的方法啊?

使用情况:
开始用的是saprfc,配置如下
win7 64位
php5.2.17
php_saprfc_528.dll
结果发现除了本地搭建成功,在别的电脑上再也没法复现,原因不明

经过几天纠结,因为sapnwrfc要php7.0以后才能用,php7.0以后MySQL extension就取消了,需要换成mysqli或PDO_MYSQL,看语法也不太可能批量替换,所以懒得改,网上说是有php7.0的MySQL extension,几番搜索无果,后无意中看到说php7.0的MySQL extension是不存在的,网上说存在纯属扯淡,也不知道是真是假,但考虑到通用性

最终决定换成sapnwrfc,配置如下
win7 64位
php7.0.12-nts
php_sapnwrfc-1.0.0-7.0-vc14-nts-x86.dll
以上配置在几台win7 64位上都可以成功搭建
其中有一台开始怎么都不行,后来重新解压覆盖了下nwrfcsdk文件就可以了,原因不明

目前碰到的问题:
想搭建在server2016 64位,用上面的配置怎么都不行了。。。

参考网址:
https://github.com/gkralik/php7-sapnwrfc
https://github.com/gkralik/php7-sapnwrfc/releases
https://gkralik.github.io/php7-sapnwrfc/installation.html

系统被某二货重装了
2022-12-30再次部署
1:安装phpStudy20161103
2:php选择php7.0.12-nts
3:复制php_sapnwrfc-1.0.0-7.0-vc14-nts-x86.dll到php的ext文件夹
4:php.ini里增加
extension=php_sapnwrfc-1.0.0-7.0-vc14-nts-x86.dll
5:复制nwrfcsdk到c盘根目录
6:计算机环境变量里,path增加
;C:\nwrfcsdk\lib
7:重启电脑,搞定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值