ID: 48761 Comment by: jet5y at hotmail dot co dot uk Reported By: aheckmann at m-s dot de Status: Assigned Bug Type: Reproducible crash Operating System: win32 only - Windows 2000 SP4 PHP Version: 5.3.0 Assigned To: pajoye New Comment:
However, considering that most servers running it would either be 2000 or 2003 and not XP then a workaround would seem more sensible at the slight detriment for now of XP SP2 systems. Previous Comments: ------------------------------------------------------------------------ [2009-07-02 23:48:19] ka...@php.net The problem with fixing this (by doing an include to emulate the functions on systems without it (Windows 2000, XP prior SP2) is that it will slow down for other system that already got it, as it will attempt to load the ws2_32 library and search for the symbol locations, which is just slowing us down for no *real* reason. The question whether to fix this is trival, Me, Pierre and the others will discuss this and how to deal with it. ------------------------------------------------------------------------ [2009-07-02 17:08:20] jon dot harrell at gmail dot com If PHP support for w2k remains then use of GetAddrInfoW must be woked around. The article above explains very plainly that this function is XP SP2+ ONLY. Currently PHP 5.3 is not compatible with w2k-XP SP1. "The GetAddrInfoW function is the Unicode version of getaddrinfo. The GetAddrInfoW function was added to the Ws2_32.dll in Windows XP with Service Pack 2 (SP2). The GetAddrInfoW function cannot be used on versions of Windows earlier than Windows XP with SP2." ------------------------------------------------------------------------ [2009-07-02 10:18:42] johan...@php.net Win 2000 is the required minimum version, or should be, while I don't know about required service packs and other patches. Pierre? ------------------------------------------------------------------------ [2009-07-01 22:23:39] aheckmann at m-s dot de In my opinion this document from microsoft describes the solution to fix the problem for older windows versions that don't have the getaddrinfo function with an inline function: http://msdn.microsoft.com/en-us/library/ms738520%28VS.85%29.aspx Support for getaddrinfo on older versions of Windows The getaddrinfo function was added to the Ws2_32.dll on Windows XP and later. To execute an application that uses this function on earlier versions of Windows, then you need to include the Ws2tcpip.h and Wspiapi.h files. When the Wspiapi.h include file is added, the getaddrinfo function is defined to the WspiapiGetAddrInfo inline function in the Wspiapi.h file. At runtime, the WspiapiGetAddrInfo function is implemented in such a way that if the Ws2_32.dll or the Wship6.dll (the file containing getaddrinfo in the IPv6 Technology Preview for Windows 2000) does not include getaddrinfo, then a version of getaddrinfo is implemented inline based on code in the Wspiapi.h header file. This inline code will be used on older Windows platforms that do not natively support the getaddrinfo function. Will this be fixed, or is Win2k support dropped for php 5.3.x? The windows release notes for 5.3 only mentioned that pre-windows 2000 support is dropped. Thanks ------------------------------------------------------------------------ [2009-07-01 22:19:11] aheckmann at m-s dot de Description: ------------ Tested with VC6 and VC9 (+vcredist_x86.exe) Version of PHP 5.3.0 PHP does not start an produces the following error message: php.exe - Entry Point Not Found : The procedure entry point getaddrinfo could not be located in the dynamic link library WS2_32.dll Reproduce code: --------------- php.exe -v Expected result: ---------------- php shows version info Actual result: -------------- Php does not start an shows the following error: php.exe - Entry Point Not Found : The procedure entry point getaddrinfo could not be located in the dynamic link library WS2_32.dll ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=48761&edit=1