Posts Tagged ‘php’

PHP 5.3.5 x64 (64 Bit) for Windows

PHP 5.3.5 was released a few weeks ago. On January 6, 2011 to be precise. This new release apparently resolves a critical issue which only affected 32 bit PHP processes. So, I used the provided test script to check my latest 64 bit PHP builds and found out that they aren’t affected.

I just read the release announcement yesterday when I had some free time and decided to compile PHP 5.3.5. And I think this is the only change in it as I don’t see a changelog in their announcement. So, I don’t really think there was any point of compiling 64 bit PHP 5.3.5 builds but I did anyway since some of you have been requesting it. 🙂

Download

VC9 x64 Thread Safe

php-5.3.5-Win32-VC9-x64.zip

CRC32: EE0E8E0B

MD5: CEEB134CB98DEDBF283E2F1EB0523CA3

SHA1: 4D94CC68D4093F4A42D429D135AEDA946C4E2ABE

VC9 x64 Non Thread Safe

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

CRC32: EF309EBC

MD5: 897A7D7328D64CE3539E975CE9385D9E

SHA1: B61B45D3DB035B442F33E2D3DEBD654E6FB9DBBE

Additional Extensions

The pecl archives below contain APC 3.1.6 (I made sure that experimental features weren’t enabled), http 1.0.7 and Memcache 2.2.6.

pecl-5.3.5-Win32-VC9-x64.zip (Thread Safe)

pecl-5.3.5-nts-Win32-VC9-x64.zip (Non Thread Safe)

eAccelerator 0.9.6.1 (Thread Safe)

PHP 5.3.4 x64 (64 Bit) for Windows

PHP 5.3.4 was released a few days ago (December 10, 2010). Last Sunday (December 12, 2010) while I was trying to compile some of the extensions that were requested in my previous post, I decided to check the php.net site to see if a new version of PHP was available and that’s when I saw that PHP 5.3.4 was out. I immediately stopped what I was doing and downloaded the PHP 5.3.4 source to compile it instead. I also decided to compile the requested extensions along with PHP 5.3.4. From the extensions that were requested, I was able to compile the snmp (php_snmp.dll), firebird 2.1 (php_interbase.dll and php_pdo_firebird.dll) and the pecl http 1.0.7 (php_http.dll) extensions. I have also compiled eAccelerator 0.9.6.1, APC 3.1.6 and Memcache 2.2.6 which I had previously compiled for PHP 5.3.3.

Anyway, as before, I have compiled both thread safe and non thread safe versions of PHP and the additional extensions. They were compiled with Visual C++ 2008 (VC 9) and can be used with my 64 bit Apache binaries.

Download

VC9 x64 Thread Safe

php-5.3.4-Win32-VC9-x64.zip

CRC32: 8B1FA8D5

MD5: 631CC93DA3623F2C5C1511D8B963AAC4

SHA1: B506FDF4AAB4F7E41AAB0E72F93D0864E3B6EFF4

VC9 x64 Non Thread Safe

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

CRC32: 8B730428

MD5: 2C48B977B49D271528AFE05EBE10BEB4

SHA1: 16A071CEA8936F6C46DE5FB2D6EE1CC65214B1AB

Additional Extensions

The pecl archives below contain the APC 3.1.6, http 1.0.7 and Memcache 2.2.6 extensions.

pecl-5.3.4-Win32-VC9-x64.zip (Thread Safe)

pecl-5.3.4-nts-Win32-VC9-x64.zip (Non Thread Safe)

eAccelerator-0.9.6.1-5.3.4-Win32-VC9-x64.zip (Thread Safe)

eAccelerator-0.9.6.1-5.3.4-nts-Win32-VC9-x64.zip (Non Thread Safe)

Update: The php_apc.dll extension in the pecl archives above have experimental features enabled in them (enabled automatically by configure command) and may not work as expected. I recompiled the thread safe extension without the experimental features and it can be downloaded from here.

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

Memcache 2.2.6 VC9 x64 Thread Safe

Memcache 2.2.6 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. 😀

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