|PHP 5.3.3 in the works|
|Written by Scott Shinn|
|Monday, 23 August 2010 15:23|
So this saturday I found myself ultra-motivated to get this project back into gear. As a security company, supporting PHP and Mysql for enterprise environments isn't exactly our core business. Which begs the question why we get involved in non-core projects like this (some might call this a "distraction"). I've found over the years that the raw internal experience with these kinds of applications puts us right in the path of the same kinds of problems anyone using ASL every day. After all you're running a business that needs to be secure... not a security business. And who better to secure your environment than an outfit that uses the same thing you do.
Anywho... its been a challenge to get all the moving parts lined up across various operating systems. Some notable issues so far:
1) ncurses, mhash, and dbase modules are gone in 5.3.x. Mostly this means a smooth upgrade using "Obsoletes" tags, but I'm still unclear on how mhash is supported.
2) I found a bug in mysql 5.1.50. They left out an include file, hooray! Its called my_compiler.h, and if you try to link against it, it will break. This is one of those situations where linking against a native mysql (5.0 or 4.1) saved the day on the enterprise distros. Just to give you an idea how long this takes, I didnt have a problem until 2 days into the project when I hit the Fedora 11 and up builds.
3) Did I mention its taken 2 days to get this far? This is a pretty major change.
4) Zend Optimizer is *not* available for PHP 5.3. After 5.3 has been out for over a year, so either the demand isn't there for it or there is some major barrier to doing it.
5) Ioncube does support 5.3.3. You're in good shape there.
6) So does eaccelerator.
7) Firebird / Interbase database supported. It took over a day to compile this on our new build server (i7-930, overclocked to 3ghz, triple channel memory etc.). In comparison this system will compile the linux kernel used in ASL in 14 minutes. Watch it never get used.
8) enchant and some other internationalization modules have been added.
9) readline has been replaced libedit. There are apparently license issues with readline that I did not investigate further.
10) People have asked about FPM. I did nothing on this, since I have nothing to test it with. Its going to need further research.
11) suhosin, havent started on this.
12) sqlite needed to be updated to 3.7. Im unsure as to what effects this may have on other applications.
13) This is linked against the native mysql libraries. Theres a good reason (see item #2)
PHP 5.3.3 is available from the atomic-testing repo, you can upgrade with:
yum --enablerepo=atomic-testing upgrade php