SAPRFC XAMPP Fehler beim laden der Extension! saprfc: Unable to initialize module

jackisback

Erfahrenes Mitglied
Hallo,

die Überschrift deutet schon darauf hin dass ich mittels PHP auf den SAP Server zugreifen möchte.
Laut Anleitung muss man lediglich die PHP_SAPRFC.DLL in den Ordner ‚ext‘ kopieren und einen Eintrag in die PHP.ini vornehmen.
Folgenden Einstellungen habe ich gemacht:
XAMPP 1.7.2
PHP 5.3.0, ID=API20090626, TS, VC6

Datei php_saprfc_530.dll in den Ordner ext Kopiert.

PHP.ini:
;SAP
extension=php_saprfc_530.dll

[Fehlermeldung bei Start von Apache]

PHP Startup: saprfc: Unable to initialize module
Module compiled with build ID= API20090626, TS
PHP compiled with build ID=API20090626, TS, VC6
These options need to be match

Für mich ist klar das die PHP Version mit dem Visual C++6 compiler erstellt wurde.
Frage was kann ich machen damit es funktioniert? oder sollte ich eine andere XAMP Version benutzen?
Ich habe auch gelesen dass man PHP und SAPRFC selber compilieren soll, leider habe ich das noch nie gemacht und bin da jetzt ein bisschen unbeholfen.
Wer kann da helfen?

Danke und Gruß im vorraus!
 
Hallo,

ich habe zurzeit hier das gleiche Problem. Meldung:

PHP Startup: saprfc: Unable to initialize module
Module compiled with build ID = API20090626, TS
PHP compiled with build ID = API20090626, TS, VC9
These options need to match

Jemand eine Idee wie ich das Problem lösen kann?
Verwendet:
SAPRFC 1.4.1, davon die DLL 5.3.0 ohne nts
XAMP Version 1.7.7

Gruß
Green
 
Du kannst die Extension selbst kompilieren? Wenn nein, dann kann ich das für dich machen.

Edit: Ich benötige dafür eigentlich nur den Inhalt eines Ordners mit dem Namen "rfcsdk", der sich auf den Rechner befinden dürfte, auf dem SAP (Gui) installiert ist.
 
Zuletzt bearbeitet:
Ich habe nach dem Ordner gesucht, doch es gab keine Ergebnisse. SAP GUI ist in der Version 7 Patchlevel 8 installiert. Hast Du ein gutes Tutorial für mich, wo beschrieben wird, wie man es unter Windows kompilieren kann? Visual Studio 2010 und weiteres hätte ich alles zur Verfügung :)
Unter Linux war das irgendwie einfacher :D
 
Das Problem ist, das VC9 nicht Visual Studio 2010 ist.

Ich habe kein gutes Tutorial zum Thema PHP-Extensions bauen. Mal davon ab, das du

- ein PHP-SDK benötigst,
- das SAP-SDK benötigst,
- VC 2008 benötigst

Ich könnte es schon kompilieren, mir fehlen nur header und libs des SAPSDK ;-)

Ich kann mal versuchen, zu beschreiben, was zu tun wäre:

1. Du musst den PHP-Sourcecode für deine installierte Version runter laden, entpacken und das Visual-Studio-Projekt darauf vorbereiten, die Include-Pfade ".", "main", "Zend" und "TSRM" aus dem Source-Folder zu beziehen
2. Du musst das Visual-Studio-Projekt darauf vorbereiten, den Ordner "dev" aus dem PHP-Installationsordner (!nicht den SOURCE!) zu beziehen.
3. Du musst das VS-Projekt darauf vorbereiten, die php5ts.lib zu linken
4. Du musst das VS-Projekt darauf vorbereiten, die Include-Folder vom SAP-SDK zu benutzen
5. Du musst das VS-Projekt darauf vorbereiten, den Lib-Folder vom SAP-SDK zu benutzen
6. Du kannst das VS-Projekt nun evtl. kompilieren und linken.
7. Wenn nicht, müssen evtl. noch ein paar Präprozessor-Direktiven gesetzt werden.

Wie gesagt, ich hab das alles schon da, könnte dir sogar das adaptierte VS-Projekt senden, bei dem nur noch das SAP-SDK eingebunden werden muss.

Fakt ist, du bekommst deine Version nicht zu laufen, weil es mit anderen Kompiler-Settings erstellt wurde. Das kannst du nur bei dir lokal beheben, in dem du neu baust. Anders gehts nicht, sorry.

EDIT: Hast du einen Account für die SAP-Service-Seite? Dann kann man das SDK angeblich auch runter laden.
 
Danke für die Zeit und Mühe erstmal! :)
Das PHP-SDK finde ich im php-Paket von php.net?
Das VC 2008 ist drauf, wurde bei Visual Studio 2010 mitinstalliert.
Und nun zum Sorgenkind, das SAP SDK gibt es als RFC SDK im SAP Marketplace, leider immer nur für Windows x64 und als SAR-Datei verpackt. Ob es mir nach SAP Lizenzbestimmungen untersagt ist das weiterzugeben weiß ich nicht müsste ich erstmal klären. Von dem aber abgesehen bringt doch ein SDK für Windows x64 nichts, wenn XAMP und alles darin auf 32Bit läuft. Selbst das Visual Studio 2010 läuft unter 32 Bit.

Gruß
Green
 
Kein Thema, ich bin ohnehin mit der Materie grad unterwegs... ;-)

Ich denke mal, das es nicht erlaubt ist, das SDK weiter zu geben, sonst könnten sie (die Firma SAP) es für jeden zum DL anbieten ohne Account. Aber schauen wir mal, vielleicht bekommen wir es zusammen hin:

Das PHP-SDK ist im Grunde der Source Code von PHP. Davon gibts BZ2 und GZ Tarballs => http://de.php.net/downloads.php

Das lädst du runter, entpackst es irgendwo hin und richtest das VS-Projekt so ein, das des den Include-Pfad kennt.

Evtl. ist in dem 64-Bit-SDK auch eine 32er-Version enthalten? Kann mir nicht vorstellen, dass nur 64Bit-Versionen angeboten werden.
 
Zurück