Release Notes - PHP 5.4
- 06/12/2013 12:36 PM
Overview - PHP 5.4 (CentOS 6 only)
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)
Highlighted Features and Fixes in PHP 5.4.45
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.
Features
PHP 5.4.45 is a bug fix and security release, no new features have been added.
Fixes
- Fix for a NULL pointer dereference
- Fix for a Use After Free vulnerability in
unserialize()
The official ChangeLog for PHP 5.4.45 is available here - http://php.net/ChangeLog-5.php#5.4.45
Highlighted Features and Fixes in PHP 5.4.43
Features
PHP 5.4.43 is a bug fix and security release, no new features have been added.
Fixes
- Fixed a BACKRONYM bug in
mysqlnd
- Buffer overflow and stack smashing error fixed in
phar_fix_filepath
The official ChangeLog for PHP 5.4.43 is available here - http://php.net/ChangeLog-5.php#5.4.43
Highlighted Features and Fixes in PHP 5.4.42
Features
PHP 5.4.42 is a bug fix and security release, no new features have been added.
Fixes
- Added header injection prevention to
mail()
- Bundled sqlite upgraded to 3.8.10.2
- Fixed a segfault in
php_pgsql_meta_data
The official ChangeLog for PHP 5.4.42 is available here - http://php.net/ChangeLog-5.php#5.4.42
Highlighted Features and Fixes in PHP 5.4.41
Features
PHP 5.4.41 is a bug fix and security release, no new features have been added.
Fixes
- Fixed a heap buffer overflow in
unpack()
- Upgraded
pcrelib
to 8.37 - Fixed an integer overflow in
ftp_genlist()
The official ChangeLog for PHP 5.4.41 is available here - http://php.net/ChangeLog-5.php#5.4.41
Highlighted Features and Fixes in PHP 5.4.40
Features
PHP 5.4.40 is a bug fix and security release, no new features have been added.
Fixes
- Fixed a null pointer reference with PostgreSQL databases
- Fix for a missing null byte check bug in some PHP extensions
- Fixed a buffer read overflow bug in GD
The Official ChangeLog for PHP 5.4.40 is available here - http://php.net/ChangeLog-5.php#5.4.40
Highlighted Features and Fixes in PHP 5.4.39
Features
PHP 5.4.39 is a bug fix and security release, no new features have been added
Fixes
- Fix for Per Directory Values overrides in
PHP_INI_SYSTEM
configuration options - Fixed heap overflow vulnerability in
regcomp.c
- Fixed ZIP Integer Overflow writing past heap boundary
The Official ChangeLog for PHP 5.4.39 is available here - http://php.net/ChangeLog-5.php#5.4.39
Highlighted Features and Fixes in PHP 5.4.36
Features
PHP 5.4.36 is a bug fix and security release, no new features have been added
Fixes
crypt_blowfish
upgraded to version 1.3- Fix for NULL pointer dereference in
unserialize.c
- Fix for possible read after end of buffer in
Mcrypt
The Official ChangeLog for PHP 5.4.36 is available here - http://php.net/ChangeLog-5.php#5.4.36
Highlighted Features and Fixes in PHP 5.4.34
Features
PHP 5.4.34 is a bug fix and security release, no new features have been added
Fixes
- Fix for cURL NULL byte injection
- Fix for libmagic signed char bug
- Fix for exif_thumbnail() heap corruption
The Official ChangeLog for PHP 5.4.34 is available here - http://php.net/ChangeLog-5.php#5.4.34
Highlighted Features and Fixes in PHP 5.4.32
Features
PHP 5.4.32 is a bug fix and security release, no new features have been added
Fixes
- Fix for php-milter not building
- Fixed missing type checks in OpenSSL options
- Fixed missing type checks in php_session_create_id
The Official ChangeLog for PHP 5.4.32 is available here - http://php.net/ChangeLog-5.php#5.4.32
Highlighted Features and Fixes in PHP 5.4.30
Features
PHP 5.4.30 is a bug fix and security release, no new major features have been added
Fixes
- Fix for built-in web server segfaulting on startup
- Fixed
phpinfo()
Type Confusion Information Leak Vulnerability - Fix for
DateTime
truncating fractions of a second
The Official ChangeLog for PHP 5.4.30 is available here - http://php.net/ChangeLog-5.php#5.4.30
Highlighted Features and Fixes in PHP 5.4.29
Features
PHP 5.4.29 is a bug fix and security release, no new major features have been added
Fixes
- Fix for
DateTime
constructor crashing with invalid data - Fix for
copy()
function not working when file name is created bytempnam()
- Fixed
printf
out-of-bounds read
The Official ChangeLog for PHP 5.4.29 is available here - http://www.php.net/ChangeLog-5.php#5.4.29
Highlighted Features and Fixes in PHP 5.4.22
Features
- Short array syntax is now available
- Now able to use binary number format
- PHP opening tag is always available even if short_open_tag option is on
- traits support has been added
Fixes
- Fixed a crash on unknown encoding for Exif
- Fixed field name truncation in ODBC
The official ChangeLog for PHP 5.4.22 is available here - http://www.php.net/ChangeLog-5.php#5.4.22
How to Upgrade
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.
PHP 5.3 to PHP 5.4
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
PHP 5.4.x to PHP 5.4.y (newer version)
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).