on 11-30-2006 9:15 PM
Greetings Everyone,
I have apache 2.2 with PHP 5.2.0 running smoothly on a WinXP PRO SP2 system. I have configured the saprfc extension properly, however when I load apache I get an error <i>The procedure entry point RfcGetTicket could not be located in the dynamic link library LIBRFC32.dll</i>. The SAP GUI is v4.0b and LIBRFC32.dll is located in the windows system dir. When I remove LIBRFC32.dll, I get a different error message entirely, so I know that things are working up to this point. I would really like to make this connection and would appreciate any guidance that could be offered.
-Christopher Caruso
I was able to solve my problem by utilizing a newer version of LIBRFC32.dll thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, Christopher,
I am experiencing similar (if not the same) problem. I use PHP as CGI binary and when I call saprfc_get_ticket(), the SAPRFC extension delegates to RfcGetTicket() and exactly on this line of the source happens the exception (i debugged it and found out).
I am not sure why this happens, I used the extension successfully before. I guess that after an update of the librfc32.dll at some time the problems came.
I will further check if the RfcGetTicket() is available in the used librfc32.dll and if yes - maybe there was some bug in the RFC library itself.
I solved the problem.
The reason for the exception was that in SAPRFC when returning the value of the ticket, too small buffer was allocated - 1024 chars.
Solution: in the SAPRFC source open saprfc.c, go to the PHP function saprfc_get_ticket() and change the buffer size to a bigger value (for example 128*1024 worked for me, consider scalability at wish).
Recompile with proper PHP sources.
Here is my diff output:
[code]$diff saprfc.c saprfc-new.c
2481c2481
< RFC_CHAR ticket[1024];
---
> RFC_CHAR ticket[128*1024];[/code]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.