PHP 5.3.15 available

PHP 5.3.15 is now available on all hosting accounts. It’s the default for new customers, and existing customers can update their PHP version using the “PHP Settings” link in our “My Account” control panel.

If you’re an existing customer using an older version of PHP, we haven’t yet changed your PHP version. However, we will begin doing that in about 30 days (we’ll announce that separately), so we recommend that you upgrade now. That way, if you find you’re using an outdated PHP script that isn’t compatible, you can set PHP back to the previous version and work to update the script. The old PHP 5.2 series will be removed from our servers by the end of 2012.

FastGCI and eAccelerator are now the default

With this version of PHP, we’ve redesigned our systems to use FastCGI and eAccelerator by default. This provides a performance boost without having to manually enable these features, as was previously required. We’ve also provided new control panel options allowing customers to disable FastCGI or eAccelerator in the unlikely event they cause problems. (We haven’t seen a problem with any script newer than about five years old, so it makes sense to enable it by default now.)

Easier editing of php.ini

We’ve also added a new control panel feature that allows advanced users to edit “php.ini” settings without using FTP or the command-line shell. In addition, php.ini changes now take effect instantly, even under FastCGI, because we gracefully stop any running PHP processes for your account whenever the settings are changed.

Technical tweaks and improvements

Before we switched to this new version of PHP, we made a list of the difficulties that customers tended to report with previous versions. Based on that, we’ve tweaked several things to avoid problems and misunderstandings:

  • We don’t use the “optional N argument” for session.save_path any more, avoiding incompatibilities with scripts that incorrectly treat that setting as a raw file path.
  • We switched to the bundled version of PHP’s GD library to avoid the “missing imagerotate()” problem that sometimes forced people to install an extra WordPress plugin.
  • If you place a “php.ini” file in the same directory as a PHP script, the extra settings will be appended to the master php.ini settings, instead of erasing the master settings. This prevents odd warnings that MySQL is not enabled if you use a php.ini file taken from a Windows server.
  • You can now enable ionCube Loader by simply checking a box in the control panel, just like Zend Guard (aka “Zend Optimizer”).
  • We’ve changed the way we internally manage PHP code so we’re no longer tied to the Debian Linux PHP release schedule. This lets us offer feature updates more quickly, and will allow us to introduce simultaneous support for the PHP 5.3 and 5.4 series in the future.

As always, don’t hesitate to let us know if you have any questions or problems.

Update: Shortly after posting this, the PHP developers released a new version and we updated PHP to version 5.3.16.