Libraria SAPRFC este o extensie pentru php4 si php5 si permite comunicarea cu sistemele SAP R/3. Este distribuita sub licenta PHP si nu este creata de SAP AG. Pentru instalare este necesara si libraria RFCSDK, care poate fi obtinuta din Sap Service Marketplace, asa cum este descris mai jos. Pentru descarcarea din Sap Service Marketplace este necesar un ID de client SAP.
In continuare sunt detaliati pasii pentru instalarea librariei SAPRFC pe un server CentOS 7. Server-ul CentOS 7 a fost instalat cu profilul Basic Web Server si include PHP Support.
1. Descarcare SAPCAR
Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components
Se descarca utilitarul SAPCAR pentru platforma corespunzatoare. Pentru ca SAPCAR e mai usor de utilizat in Windows, am descarcat versiunea pentru Windows si toate dezarhivarile le-am efectuat sub Windows apoi am transferat fisierele pe server-ul Linux.
SAPCAR este un utilitar pentru arhivare/dezarhivare construit de SAP. Cateva detalii despre utilizarea lui pot fi gasite aici: http://www.easymarketplace.de/SAPCAR.php. Pentru dezarhivarea unui fisier de tip .sar cu utilitarul SAPCAR, indiferent de platforma, se foloseste comanda:
SAPCAR_[version].exe -xvf [SAR filename].sar
2. Descarcare SAP RFC SDK (Non-Unicode)
Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components
De aici se descarca pachetul SAP RFC SDK Non-UNICODE pentru platforma corespunzatoare (in cazul meu am descarcat versiunea 7.20 pentru Linux on x86_64 64bit). Dupa dezarhivare, folderul rfcsdk se copiaza pe serverul Linux la locatia /usr/src/rfcsdk.
3. Descarcare librfc
Sap Service Marketplace > Products > Software Downloads > Support Packages and Patches > Browse Download Catalog > Additional Components > SAP Kernel > SAP Kernel 64bit > SAP Kernel 7.20 64bit > Linux on x86_64 64bit > #Database independent
De aici se descarca fisierul librfc_715-10007252.sar. Se dezarhiveaza cu utilitarul SAPCAR, apoi se copiaza fisierul librfccm.so pe serverul Linux la locatia /usr/src/rfcsdk/lib. Daca exista deja acolo un fisier cu acelasi nume trebuie suprascris.
Nota 413708 – detalii despre libraria RFC curenta.
Nota 955397 – detalii despre utilizarea RFC SDK sub Linux
Nota 27517 – detalii despre instalarea RFC SDK (sub Windows)
4. Download si instalare re2c (optional)
wget http://pkgs.repoforge.org/re2c/re2c-0.13.5-1.el6.rf.x86_64.rpm
rpm -Uvh re2c-0.13.5-1.el6.rf.x86_64.rpm
Detalii: http://pkgs.repoforge.org/re2c/
5. Instalare instrumente suplimentare
yum install php-devel
yum group install Development Tools
6. Instalare SAPRFC
[root@localhost tmp]# cd /tmp
[root@localhost tmp]# wget http://nchc.dl.sourceforge.net/project/saprfc/saprfc/1.4.1/saprfc-1.4.1.tar.gz
[root@localhost tmp]# tar -zxf saprfc-1.4.1.tar.gz
[root@localhost tmp]# cp -R saprfc-1.4.1 /usr/src
[root@localhost tmp]# cd /usr/src/saprfc-1.4.1
[root@localhost saprfc-1.4.1]# export SAPRFC_DIR=/usr/src/rfcsdk/
[root@localhost saprfc-1.4.1]# export PATH=$SAPRFC_DIR/bin:$PATH
[root@localhost saprfc-1.4.1]# phpize
[root@localhost saprfc-1.4.1]# ./configure
[root@localhost saprfc-1.4.1]# make (se ignora erorile zend deprecated)
[root@localhost saprfc-1.4.1]# make install
Daca comanda make se finalizeaza cu eroare:
compilation terminated.
make: *** [saprfc.lo] Error 1
atunci se editeaza fisierul saprfc.c, la linia 47, si se modifica function_entry in zend_function_entry (detalii aici).
Daca eroarea se refera la lipsa fisierului rfcsi.h, atunci acest fisier trebuie copiat in /usr/src/rfcsdk/include. Fisierul se poate obtine dintr-o librarie rfcsdk mai veche (versiunea 6.40), care poate fi descarcata dupa instructiunile de la pasul 2.
La final, pentru adaugarea extensiei saprfc in php, se editeaza fisierul /etc/php.ini si se adauga linia:
extension=saprfc.so
dupa care se restarteaza serviciul httpd.
Pentru a testa daca instalarea a avut succes, se copiaza fisierul /usr/src/saprfc-1.4.1/saprfc_test.php in locatia /var/www/html (sau /var/www/vhosts/default – in cazul unui server administrat cu Plesk). Se acceseaza adresa http://sever-ip/saprfc_test.php, si daca se incarca formularul de autentificare inseamna ca libraria a fost instalata cu succes.
Toate fisierele utilizate pentru instalarea SAPRFC pot fi descarcate si de aici:
SAPCAR (windows)
SAPCAR (linux)
SAP RFC SDK Non-UNICODE
LIBRFC (librfc_715-10007252.sar)
Detalii: http://saprfc.sourceforge.net/