Posts Tagged ‘php’

PHP 5.3.3 x64 (64 Bit) for Windows

Just noticed today that PHP 5.3.3 was released recently. However, there still aren’t any official 64 bit binaries for Windows available at php.net. So once again I have compiled PHP myself and here are the 64 bit binaries for Windows.

I have compiled both the thread safe and non thread safe versions together. They were compiled with Visual C++ 2008 (VC9). The thread safe version includes php5apache2_2.dll for use with Apache 2.2 and php5isapi.dll for use with IIS.

Download

php-5.3.3-Win32-VC9-x64.zip

CRC32: 012202E7

MD5: 0AEBDC3B4C2EA1B917ED6731C2F7B874

SHA1: 29B126355C750665D48BE54F421879908D78B063

php-5.3.3-nts-Win32-VC9-x64.zip

CRC32: 0358080C

MD5: 7E19FBE4F92512C20ECE7328FEDE040F

SHA1: 104DD1797858C8B20BD61FBA33F4311BB7D61A10

Update: I didn’t notice that the php_ldap.dll extension wasn’t compiled this time. It didn’t compile because as of PHP 5.3.3, it requires libsasl, which was missing. Anyway, I had to compile libsasl and then the php_ldap.dll which I am posting here separately.

I also took the time to compile eAccelerator for PHP 5.3.3 and also NTS version of WinCache which someone requested last time.

Additional Extensions

php_ldap.dll VC9 x64 Thread Safe

php_ldap.dll VC9 x64 Non Thread Safe

eAccelerator 0.9.6.1 VC9 x64 Thread Safe

eAccelerator 0.9.6.1 VC9 x64 Non Thread Safe

WinCache 1.1.0 VC9 x64 Non Thread Safe

PHP 5.3.2 x64 (64 Bit) Windows Binary

Some of you requested that I compile 64 bit Windows binaries for PHP 5.3.2 since they are not officially available from the PHP website. And so, I did and you will find the download link at the end of this post. But first let me tell you about a bug in this release that may or may not affect you. :D

I compiled PHP 5.3.1 a few weeks ago but noticed that scripts that used the mysql extensions were not working. I thought this was because of a problem with the mysql extensions in this particular build, since the scripts were working fine with a 64 bit build of PHP 5.3.0 that I downloaded from http://windows.php.net/qa/.

Yesterday, after I compiled PHP 5.3.2, I noticed the same problem. And after a lot of messing around I realized that the problem was because PHP was not resolving “localhost” to “127.0.0.1″ and instead resolving to the IPv6 address “::1″.  As mentioned before, this problem is not there in PHP 5.3.0, so I believe its a bug in PHP.

A good workaround for this problem is to comment out “::1             localhost” in your “hosts” file (C:\Windows\System32\drivers\etc\hosts) if it isn’t already, and uncomment “127.0.0.1       localhost” if it is commented out by default, as is the case with Windows 7. Another workaround is to use “127.0.0.1″ in your PHP scripts instead of “localhost”.

Also, I tried compiling the mysql extensions with libmysql instead of mysqlnd to see if the problem persisted. I was able to compile the php_mysql extension successfully with libmysql (the php_mysqli and php_pdo_mysql extensions failed to compile with libmysql), and noticed that the problem wasn’t there. Scripts that used the php_mysql extension to connect to the mysql database with “localhost” defined as the database host, were working fine. So, I have included the php_mysql extension compiled with libmysql with this release.

So far, this “localhost” resolution bug is the only one that I have come across in this release.

Anyway, this release also includes the php5apache2_2.dll module for use with 64 bit versions of Apache 2.2.

And here is the configure log for anyone interested in it.

Download

php-5.3.2-Win32-VC9-x64.zip

CRC32: A356949C

MD5: F16FF84C27CBB642B4ED1E25FE997F82

SHA1: DCCF68C0935ECE581D1F0208F6E8A27C265CBF03