I need to compile php for Windows so that the ftp_ssl_connect function would be available. This is how I did it. All of this is as of today, May 19, 2008. Windows XP Pro SP2.
» Microsoft Visual C++ 2008 Express Edition
» Windows SDK for Windows Server 2008 and .NET Framework 3.5
» php 5.2.6 Source Code and extract it to the C:\work\ folder.
» Needed Libraries (zip.zip). Edin Kadribašic has a nice zip file with everything in it. You need to go into subfolder /php/win32 and click on zip.zip. (If this link is down try this one: http://perisama.net/ ). Create folder C:\work\php_build\ and extract the zip file into it.
» Newer libxml2. The libxml package that is included in the zip file was a little out of date. Download this one and extract the contents of the zip file on top of C:\work\php_build\ . Overwrite files as needed.
» Win32 OpenSSL (Win32 OpenSSL v0.9.8g)
As of php 5.2.6, you will need to patch C:\work\php-5.2.6\ext\ftp\ftp.c in your php source directory. deciacco did some awesome work in producing a working patch. You can see his site here. You can download my patched version for php 5.2.6 here. Just replace the copy of ftp.c in your C:\work\php-5.2.6\ext\ftp\ folder.
Start > Program Files > Visual C++ 9.0 Express Edition > Visual Studio Tools > Visual Studio 2008 Command Prompt
Link To Commands
You will see many, many compile warnings. This is quite normal.
If everything went well, you should now have php.exe in the folder C:\work\Release_TS\ which has ftp_ssl_connect functionality.