After much patience and persistence on the part of myself and many other individuals, we now have PHP 5.3.x support in EasyApache, starting with PHP 5.3.1. For those of you who may be unaware, EasyApache is WHM/cPanel’s tool for creating custom compilations of Apache and PHP. This solves many problems for those who have been doing this “behind the scenes,” as well as those who wish to utilize some of the great new features implemented in the 5.3 series. PHP 5.3.1 introduces namespaces, late static binding, decreased memory usage (YMMV), several new extensions, and improved MySQL support. Be sure to check your scripts for compatibility before going live with PHP 5.3.1 on a production server. Some scripts will be affected by some of the changes, so testing is extremely important.
Additional information can be found at the link below (several plugins are no longer supported, Zend Optimizer compatibility, etc.):
After four release candidates, we finally have a stable PHP 5.3.1 release. For those already running PHP 5.3.0, there’s not much that is different, but there are some improvements. For others, it means there will probably be PHP 5.3 support in cPanel/WHM via EasyApache very soon.
In PHP 5.3.1, the max_file_uploads directive was introduced into php.ini to help prevent DOS (denial of service) attacks via file exhaustion. max_file_uploads is set at 20 by default. There were also several other security issues patches, and many bugs fixed in this release. Links containing additional details are below:
This is just a notice to let everyone know that the first PHP 5.3.1 release candidate has been released. For those of you who use cPanel/WHM, this means that you are one step closer to having out-of-the-box PHP 5.3 support. On cPanel’s forums, a member of cPanel Quality Assurance said cPanel would most likely wait until the stable release of PHP 5.3.1 before unleashing it into EasyApache for a quick, painless install on cPanel/WHM-administered servers (see post by cpanelkenneth here). For a list of fixes in 5.3.1, visit the PHP changelog.
With the release of PHP 5.3, there were many performance increases with some tests confirming a 20% boost for certain applications, though most were between 5-10%. This should make the web a better place for those of us who upgrade. (FYI: I tested a lot of my PHP scripts, and none so far have had compatibility issues.)
In my quest to minimize the memory usage of our beloved blogging platform, WordPress, I came across eAccelerator. After using Zend Server, and experiencing the performance boost their caching mechanism created, I started looking for something that would work easily with cPanel/WHM. Lo and behold, there exists a program called eAccelerator which is quoted as being “a free open source PHP accelerator, optimizer, and dynamic content cache.”
Immediately, I saw the average WordPress memory usage go from 14MB to less than 8MB. That is roughly 57% percent of the original memory usage. Needless to say, I was quite pleased with the results!
Thoughts: In other languages, such as C# and Java, one has the ability to introduce libraries as needed without the extra burden of loading every last file, like in WordPress. Would it be possible to come up with a custom autoload function to do the same sort of thing? I believe Joomla uses a similar idea with the jimport() function.
I recently decided to install Zend Server CE on my machine to use as a local development environment. I chose the PHP 5.3 installation so I could update my PHP code to fit the new version. I was intrigued and excited to find that WordPress used a mere 2 MB of memory compared with 12-13 MB on my production installation.
Zend Server CE
Windows Server 2003
Windows Server 2003
My primary testing was done on Windows Server 2003. Before installing Zend Server CE, WordPress was taking up what I would call an average amount of memory, 12 MB. After installing Zend Server CE with PHP 5.2.10, I found that peak memory usage went down to around 4 MB. After I found PHP 5.2.10 worked, I upgraded to 5.3, which resulted in yet another performance increase, bringing us to 2 MB peak memory usage.
Thoughts: I can’t find anything drastically different about the two installations, but I could be missing something. If anyone can solve this mystery, please comment!