Instructions: 1. Install epel and remi repositories: # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm# sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm 2. Enable remi repository: # sudo vi /etc/yum.repos.d/remi.repo In the [remi] section of the file, set the "enabled" option to 1. 3. Upgrade PHP with this command: # yum install php Installation of ionCube for PHP 5.4 (optional) 1. Install ionCube:For x32: # wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.zip# unzip ioncube_loaders_lin_x86.zip# sudo cp ioncube/ioncube_loader_lin_5.4.so /usr/lib/php/modules/ For x64: # wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip # unzip ioncube_loaders_lin_x86-64.zip # sudo cp ioncube/ioncube_loader_lin_5.4.so /usr/lib64/php/modules/ 4. Set SELinux attributes: # sudo chcon -u system_u -t textrel_shlib_t /usr/lib/php/modules/ioncube_loader_lin_5.4.so# sudo chcon -u system_u -t textrel_shlib_t /usr/lib64/php/modules/ioncube_loader_lin_5.4.so 5. Switch on ionCube in PHP config: # echo "zend_extension=/usr/lib/php/modules/ioncube_loader_lin_5.4.so" >> /etc/php.d/zend_extensions_psa.ini# echo "zend_extension=/usr/lib64/php/modules/ioncube_loader_lin_5.4.so" >> /etc/php.d/zend_extensions_psa.ini 6. Check functioning of ionCube: # php -r 'phpinfo();' | grep -i ioncube You can also test ionCube Loader by using the helper PHP script "loader-wizard.php" that's included in the ionCube Loader archive. Possible issues 1. MySQL server is upgraded with PHP. If, when creating databases, database users or applications fail with MySQL errors such as "Table mysql.servers does not exist," it means that the MySQL server has been upgraded with PHP. This can be fixed with the following command: # mysql_upgrade -uadmin -p`cat /etc/psa/.psa.shadow` 2. If you see an error message like "Failed loading /usr/lib/php/modules/ioncube_loader_lin_5.4.so: /usr/lib/php/modules/ioncube_loader_lin_5.4.so: wrong ELF class: ELFCLASS6," it means that the the ionCube Loader file has a different OS architecture.3. If you see an error message like "Failed loading /usr/lib/php/modules/ioncube_loader_lin_5.4.so: /usr/lib/php/modules/ioncube_loader_lin_5.4.so: cannot restore segment prot after reloc: Permission denied," it means that SELinux is effective. The SELinux context is wrong on the ionCube Loader file.4. PHP doesn't work in CGI/FastCGI mode with HTTP Error 500. This can be caused by the existence of directives that are incompatible with PHP 5.4 in the global or domain php.ini file. Here is a list of incompatible directives: register_globalsregister_long_arraysmagic_quotes_gpcmagic_quotes_runtimemagic_quotes_sybaseallow_call_time_pass_referencedefine_syslog_variableshighlight.bgsession.bug_compat_42session.bug_compat_warny2k_compliancesafe_modesafe_mode_gidsafe_mode_include_dirsafe_mode_exec_dirsafe_mode_allowed_env_varssafe_mode_protected_env_varszend.ze1_compatibility_mode Refer to http://www.php.net/manual/en/migration54.ini.php for details.