PHP 5.4.36 has been released on PHP.net on 18th December 2014, and is also available for CentOS/RHEL 5.10 and 6.5 at Webtatic via Yum.

Update 2013-07-21 – A new package “php54w-mysqlnd” has been added as an alternative to “php54w-mysql”. This will instead provide mysql, mysqli, and pdo_mysql built against the PHP MySql native driver rather than the system default libmysqlclient. It will replace “php54w-mysql55″, as it will work with MySQL 5.0/5.1/5.5 server)
Update 2013-06-20 – Webtatic now has released PHP 5.5.0 for CentOS/RHEL 5 and 6
Update 2013-05-26 – CentOS/RHEL 5.x now supported.
Update 2013-05-18 – A new package “php54w-pecl-zendopcache” has been added, Zend Optimizer Plus opcode cache.
Update 2012-08-26 – APC is stable enough now and so the extension has been added
Update 2012-07-22 – memcache and xdebug extensions have been added
Update 2012-04-29 – mcrypt, tidy, mssql, interbase have been added back in to the repository.

PHP 5.4.0 adds new features such as:

  • Traits
  • Built-in web server
  • Array short notation
  • Array return value de-referencing
  • Finally killing off magic-quotes and safe-mode

To see what else has been added, check out the changelog.

To install, first you must add the Webtatic EL yum repository information corresponding to your CentOS/RHEL version to yum:

CentOS/RHEL 7.x:

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

CentOS/RHEL 6.x:

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

CentOS/RHEL 5.x:

rpm -Uvh https://mirror.webtatic.com/yum/el5/latest.rpm

Now you can install php by doing:

yum install php54w

If you would like to upgrade php to this version it is recommended that you check that your system will support the upgrade, e.g. making sure any CPanel-like software can run after the upgrade.

Unless you know what you are doing, it is risky upgrading an existing system. It’s much safer to do this by provisioning a separate server to perform the upgrade as a fresh install instead.

If you know what you are doing, you can upgrade PHP by:

yum install yum-plugin-replace
 
yum replace php-common --replace-with=php54w-common

It will likely give you a message “WARNING: Unable to resolve all providers …”. This is normal, and you can continue by tying “y“. You will be given a chance to see what packages will be installed and removed before again being given a chance to confirm.

Packages

PackageProvides
php54wmod_php, php54w-zts
php54w-bcmath 
php54w-cliphp-cgi, php-pcntl, php-readline
php54w-commonphp-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
php54w-dba 
php54w-devel 
php54w-embeddedphp-embedded-devel
php54w-enchant 
php54w-fpm 
php54w-gd 
php54w-imap 
php54w-interbasephp_database, php-firebird
php54w-intl 
php54w-ldap 
php54w-mbstring 
php54w-mcrypt 
php54w-mssql 
php54w-mysqlphp-mysqli, php_database
php54w-mysqlndphp-mysqli, php_database
php54w-odbcphp-pdo_odbc, php_database
php54w-pdo 
php54w-pecl-apc 
php54w-pecl-gearman 
php54w-pecl-geoip 
php54w-pecl-memcache 
php54w-pecl-zendopcache 
php54w-pecl-xdebug 
php54w-pgsqlphp-pdo_pgsql, php_database
php54w-processphp-posix, php-sysvmsg, php-sysvsem, php-sysvshm
php54w-pspell 
php54w-recode 
php54w-snmp 
php54w-soap 
php54w-tidy 
php54w-xmlphp-dom, php-domxml, php-wddx, php-xsl
php54w-xmlrpc 

Opcode Caches

A precompiled PHP APC package is available as an opcode cache, which is recommended for performance reasons. It can be installed via:

yum install php54w-pecl-apc

Zend have now released Zend Optimizer Plus opcode cache as open source, and is now known as Zend OPcache. As it’s more actively maintained than APC, it has been added as a package to the Webtatic EL6 repository. It can be installed via:

yum install php54w-pecl-zendopcache

error_reporting E_ALL now includes E_STRICT

You may get a lot more errors coming out of your error logs if by default your error_reporting is set to E_ALL now without explicitly turning off E_STRICT. The default php.ini that comes with the PHP package turns this off by default, but if you are upgrading from an existing installation, your php.ini may not be updated, meaning this will likely be turned on.

https://webtatic.com/packages/php54/

05-11 19:22