ID: 48761
Updated by: [email protected]
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:
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.
Previous Comments:
------------------------------------------------------------------------
[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] [email protected]
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.