Re: [INTERNALS-WIN] RE: [PHP-DEV] Differences in VC6 and VC9 Windows builds and MSSQL Driver.

From: Date: Mon, 05 Jan 2009 22:45:38 +0000
Subject: Re: [INTERNALS-WIN] RE: [PHP-DEV] Differences in VC6 and VC9 Windows builds and MSSQL Driver.
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.internals.win 
Request: Send a blank email to internals-win+get-352@lists.php.net to get a copy of this message
On Mon, Jan 5, 2009 at 11:41 PM, Uwe Schindler <thetaphi@php.net> wrote: > With Apache Webserver this is completely different. The Apache webserver was > designed originally on Unix platform. Because of that, the public API of > this webserver was designed using symbols and structs of the UNIX/POSIX > libc. Because of that, the API is only compatible, as long as the webserver > is linked with DLLs that use the same CRT. If you try to link an Apache > linked with Cygwin and a module from VC9, it will crash. If you try to link > a mingw Apache with Cygwin, it crashes. If you try to link an Apache from > MSVCRT 6 with PHP with VCRT 9, it crashes. Very simple or not? Indeed, a very effective way to say: do not do that :) > The same happens with extensions. But the problem is here is often very > simple. If the public API of this extension uses symbols from the windows > world, there is no problem, it just works (ODBC, Win32, Java, NSAPI, Sybase > CT,...). If it uses symbols from the UNIX/POSIX world, the problems begin > (not because of the word UNIX/POSIX in it - because of the different world > in it). Thinking about that, at some point we could write a little doc on how to write portable extensions. There is definitively a need of that... > Greetings from a person that used Windows and POSIX always next to each > other in his mind... Same here, I feel your pain :) And thanks a lot for all explanations! Such good posts are rare :) Cheers, -- Pierre http://blog.thepimp.net | http://www.libgd.org

« previous php.internals.win (#352) next »