This Release Note covers all point releases for PHP 5.4 that are offered by eApps. Upgrade instructions are included.
NOTE - eApps maintains PHP 5.4 for CentOS 6 OS Templates. CentOS 7 OS Templates using ISPmanager 5 will have a choice of PHP versions available, all maintained by the CentOS community. Please see the PHP User Guide for more information. If you are using a CentOS 6 OS Template and wish to move to a CentOS 7 OS Template, please contact eApps Sales.
IMPORTANT: If you are using eAccelerator, the current and latest available version of eAccelerator is not compatible with PHP 5.4 or any upcoming version of PHP. Zend OPCache, which is a recommended replacement for eAccelerator, should be installed. For instructions on installing Zend OPCache, please see the documentation at ZendOptimizerPlus. If you need assistance installing Zend OPCache, please send a request to eApps Support.
PHP 5.4 is a major release of the PHP scripting language. This release has introduced new functionality and significant changes to PHP. If you are upgrading from any prior version of PHP to PHP 5.4, there is a HIGH RISK of data loss and downtime if you do not carefully test your existing application with this new version. |
eApps recommends, as a best practice, to maintain a staging server where you can test software upgrades before moving them into production. This approach will allow you to minimize the risk of data loss and downtime of your production service when performing software upgrades. If necessary, you can rebuild your staging Virtual Server on demand so that you have a fresh installation to test on. If you need more information about setting up a Virtual Server for staging or testing, please contact eApps Sales.
IMPORTANT: PHP 5.4 has an extensive list of new features and changes. See the Official PHP 5.4 Migration Documentation for a list of changes that may cause issues when upgrading: http://www.php.net/manual/en/migration54.changes.php. Please read this document carefully to understand all the changes in PHP 5.4. Upgrading to this version may significantly impact the operation of your database and applications.
eApps Release Notes for PHP 5.4.45
eApps Release Notes for PHP 5.4.43
eApps Release Notes for PHP 5.4.42
eApps Release Notes for PHP 5.4.41
eApps Release Notes for PHP 5.4.40
eApps Release Notes for PHP 5.4.39
eApps Release Notes for PHP 5.4.36
eApps Release Notes for PHP 5.4.34
eApps Release Notes for PHP 5.4.32
eApps Release Notes for PHP 5.4.30
eApps Release Notes for PHP 5.4.29
eApps Release Notes for PHP 5.4.22
How to Upgrade
PHP 5.3 to PHP 5.4
PHP 5.4.x to PHP 5.4.y (newer version)
NOTE - PHP 5.4.45 is the final release of the PHP 5.4 branch. If your code is based on specific features in PHP 5.4, you should start making plans to migrate to PHP 5.5 or 5.6. More information can be found here - PHP 5.4 End of Life.
PHP 5.4.45 is a bug fix and security release, no new features have been added.
unserialize()
The official ChangeLog for PHP 5.4.45 is available here - http://php.net/ChangeLog-5.php#5.4.45
PHP 5.4.43 is a bug fix and security release, no new features have been added.
mysqlnd
phar_fix_filepath
The official ChangeLog for PHP 5.4.43 is available here - http://php.net/ChangeLog-5.php#5.4.43
PHP 5.4.42 is a bug fix and security release, no new features have been added.
mail()
php_pgsql_meta_data
The official ChangeLog for PHP 5.4.42 is available here - http://php.net/ChangeLog-5.php#5.4.42
PHP 5.4.41 is a bug fix and security release, no new features have been added.
unpack()
pcrelib
to 8.37ftp_genlist()
The official ChangeLog for PHP 5.4.41 is available here - http://php.net/ChangeLog-5.php#5.4.41
PHP 5.4.40 is a bug fix and security release, no new features have been added.
The Official ChangeLog for PHP 5.4.40 is available here - http://php.net/ChangeLog-5.php#5.4.40
PHP 5.4.39 is a bug fix and security release, no new features have been added
PHP_INI_SYSTEM
configuration optionsregcomp.c
The Official ChangeLog for PHP 5.4.39 is available here - http://php.net/ChangeLog-5.php#5.4.39
PHP 5.4.36 is a bug fix and security release, no new features have been added
crypt_blowfish
upgraded to version 1.3unserialize.c
Mcrypt
The Official ChangeLog for PHP 5.4.36 is available here - http://php.net/ChangeLog-5.php#5.4.36
PHP 5.4.34 is a bug fix and security release, no new features have been added
The Official ChangeLog for PHP 5.4.34 is available here - http://php.net/ChangeLog-5.php#5.4.34
PHP 5.4.32 is a bug fix and security release, no new features have been added
The Official ChangeLog for PHP 5.4.32 is available here - http://php.net/ChangeLog-5.php#5.4.32
PHP 5.4.30 is a bug fix and security release, no new major features have been added
phpinfo()
Type Confusion Information Leak VulnerabilityDateTime
truncating fractions of a secondThe Official ChangeLog for PHP 5.4.30 is available here - http://php.net/ChangeLog-5.php#5.4.30
PHP 5.4.29 is a bug fix and security release, no new major features have been added
DateTime
constructor crashing with invalid datacopy()
function not working when file name is created by tempnam()
printf
out-of-bounds readThe Official ChangeLog for PHP 5.4.29 is available here - http://www.php.net/ChangeLog-5.php#5.4.29
The official ChangeLog for PHP 5.4.22 is available here - http://www.php.net/ChangeLog-5.php#5.4.22
It is your responsibility to ensure that your application will work on the newer version of PHP. There may be incompatibilities that will affect how your application works. Please make sure that you have read the official Release Notes and ChangeLog, and have done any necessary testing before upgrading a production application.
You should make a backup of your application, your configurations, and any tunings or changes you have made. If you do not have current backups and something goes wrong during the upgrade process, you could have data loss.
eApps also recommends making a backup of your databases (if installed) before upgrading any application in production. Follow the instructions for your database: MySQL, MariaDB or PostgreSQL.
To upgrade PHP, you will need to work from the command line using SSH, and you will need to be able to work as the root user. You will need to use yum to upgrade the application.
To update from PHP 5.3 to PHP 5.4, you will need to work from the command line of the Virtual Server, logging in using SSH and working as the root user.
Once you are logged in to the VM using SSH, do the following as the root user: yum update php
. This will upgrade the application.
[root@eapps-example ~]# yum update php
To update from an existing version of PHP 5.4 to a newer version of PHP 5.4, you will need to work from the command line of the Virtual Server, logging in using SSH and working as the root user.
If you have installed IonCube Loader or Zend Guard Loader, you will need to upgrade those along with PHP. This is especially true if you are using either the CentOS 6 64bit LAMP (ISPmanager CP) or CentOS 6 32bit LAMP (ISPmanager CP) template, which have both IonCube Loader and Zend Guard Loader installed by default.
Once you are logged in to the VM using SSH, do the following as the root user: yum update php
. This will upgrade the application.
[root@eapps-example ~]# yum update php
If you need to update IonCube Loader or Zend Guard Loader, use the following commands: yum update ioncube-loader
and yum update php-zend-guard-loader
.
[root@eapps-example ]# yum update ioncube-loader
[root@eapps-example ]# yum update php-zend-guard-loader
If you are using ISPmanager, log out and then log back in again, and the new versions of the application should be visible in Server Settings > Applications (ISPmanager 4) or Settings > Features (ISPmanager 5).