zoukankan      html  css  js  c++  java
  • saprfc

    PHP在使用saprfc的时候,首先需要安装 saprfc 拓展,然后在引入saprfc.php类库,最后在使用。
     
    一、PHP saprfc拓展的安装(Linux):
     
    安装方法:
     
    安装时需要 rfcsdk包 和 文件librfccm.so (可能需要自行去下载一下)
     
    [root@down ~]# tar -zxf saprfc-1.4.1.tar.gz
    [root@down ~]# cp -R saprfc-1.4.1 /usr/src
    [root@down ~]# mkdir /opt/SAP
    [root@down ~]# cp -R rfcsdk /opt/SAP/
    [root@down ~]# cp librfccm.so /opt/SAP/rfcsdk/lib/
    [root@down ~]# cd /usr/src/saprfc-1.4.1
    [root@down saprfc-1.4.1]# export SAPRFC_DIR=/opt/SAP/rfcsdk/
    [root@down saprfc-1.4.1]# export PATH=$SAPRFC_DIR/bin:$PATH
    [root@down saprfc-1.4.1]# phpize
    [root@down saprfc-1.4.1]# ./configure
    [root@down saprfc-1.4.1]# make
    [root@down saprfc-1.4.1]# make install
    [root@down saprfc-1.4.1]# echo extension=saprfc.so >> /etc/php.d/saprfc.ini
    [root@down saprfc-1.4.1]# echo extension=saprfc.so >> /etc/php.ini
    [root@down saprfc-1.4.1]# service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
     
    如果发现apache报Unable to load dynamic library '/usr/lib64/php/modules/saprfc.so' - libstdc++.so.5的错误,需要另外安装两个类库:
     
    yum install -y compat-libstdc++-33
     
    yum install -y libstdc++.so.5
     
    安装好之后需要重启apache
     
    给一个安装参考链接:linux环境下,saprfc拓展安装方法:https://blog.csdn.net/qq_40382264/article/details/80248482
     
    二、代码示例:
    <?php 
    // 需安装saprfc拓展,并引入saprfc类库
    include 'saprfc.php';
    // Create saprfc-instance
    $sap = new saprfc(array(
            "logindata"=>array(
                "ASHOST"    => '192.168.18.101',// application server,必须是IP
                "SYSNR"        => '00',            // system number,固定 00
                "CLIENT"    => '140',            // client,每个都不一样
                "USER"        => 'user1',            // user,账号
                "PASSWD"    => 'password1',        // password,密码
                "CODEPAGE"  => '6240',          // chart set,编码,6420:简体中文
            ),
            "show_errors"    => true,            // let class printout errors
            "debug"    => true                        // detailed debugging information
        )
    );
     // Call-Function
     $result=$sap->callFunction("YSD_TEST_TO400",// 函数名
         array(
             array("IMPORT", "IV_BEGTIME", '20181128'),// IMPORT传参,参数视接口而定
             array("IMPORT", "IV_ENDTIME", '20181129'),
             array("TABLE","TE_ORDERINFO",array()),    // 返回值,参数视接口而定
         )
     );
     //若数据返回成功
     if($sap->getStatus() == SAPRFC_OK){
         $data = isset($result['TE_ORDERINFO']) ? $result['ET_ORDERINFO'] : array();
         //转码
         foreach ($data as $key => $val){
             foreach($val as $k => $v){
                 $data[$key][$k] = iconv('GB2312','UTF-8',$v);
             }
         }
         var_dump($data); // 这个 $data 就是最终没有乱码的数据
      }

     `

     

  • 相关阅读:
    Mysql创建nextval函数
    宝塔配置tomcat的配置
    小程序获取授权信息
    pycharm 2017新建文件添加编码方式等
    Linux下利用expect,不用交互模式,直接登陆远程主机
    linux文件权限解析(摘)
    linux环境下根据文件的某一列进行去重
    oracle查询用户权限及角色(摘)
    插入排序-python实现
    css清除浮动方法
  • 原文地址:https://www.cnblogs.com/chrdai/p/10037872.html
Copyright © 2011-2022 走看看