Release Notes - PHP 5.4


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.

Warning 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 by tempnam()
  • 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).


Comments

Please login to comment