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

[email protected] ("Pierre Joye")
Newsgroups php.internals.win
Message-ID <[email protected]>
On Mon, Jan 5, 2009 at 11:41 PM, Uwe Schindler <[email protected]> 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
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.