upgrade php 5.x to php 5.3

How to install/upgrade PHP 5.3 for CentOS 5.x

Article ID: 1237
Last updated on January 10, 2013
Authored by: Rackspace Support

The following article will guide you through installing PHP 5.3 on your CentOS 5.x-based system using the third party webtatic and EPEL package repositories. These package repositories are not officially supported by CentOS, but they provide much more current versions of popular applications like PHP. This guide does not attempt to install the official php53 package set as the available modules in that set are quite limited.
Install the extra repositories

The first step requires downloading and installing some RPM files that contain the additional repository definitions, which we’ll do with the rpm command:

sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm

Once installed you should see some additional repository definitions under the /etc/yum.repos.d directory.

$ ls -1 /etc/yum.repos.d/epel* /etc/yum.repos.d/webtatic.repo
/etc/yum.repos.d/epel.repo
/etc/yum.repos.d/epel-testing.repo
/etc/yum.repos.d/webtatic.repo

Enable the webtatic repository

The webtatic repository provides a variety of up-to-date packages that are useful or are a requirement for many popular web-based services. That means it generally is not a bad idea to enable the webtatic repository by default.

First, open the /etc/yum.repos.d/webtatic.repo repository file using a text editor of your choice,

sudo vim /etc/yum.repos.d/webtatic.repo

Edit the [webtatic] section of the file so that the enabled option is set to 1. This will enable the remi repository.

[webtatic]
name=Webtatic Repository $releasever – $basearch
#baseurl=http://repo.webtatic.com/yum/centos/5/$basearch/
mirrorlist=http://repo.webtatic.com/yum/centos/5/$basearch/mirrorlist
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy

Installing the PHP 5.3 packages

This section will aim to install PHP 5.3 and any relevant additional modules that may be required. If you are upgrading from an older PHP version to PHP 5.3 please skip to the next section.

The following is an example of a single-shot command of the installation of PHP 5.3 and some common modules:

$ sudo yum install php php-cli php-gd php-mysql php-mbstring

or yum install php-mysql php-devel php-gd php-pecl-memcache php-pspell php-snmp php-xmlrpc php-xml

The following is a sample trace output (make note of the package version and the repository):


Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
php x86_64 5.3.20-1.w5 webtatic 1.4 M
php-cli x86_64 5.3.20-1.w5 webtatic 2.6 M
php-gd x86_64 5.3.20-1.w5 webtatic 108 k
php-mbstring x86_64 5.3.20-1.w5 webtatic 1.2 M
php-mysql x86_64 5.3.20-1.w5 webtatic 91 k
Installing for dependencies:
apr x86_64 1.3.12-1.w5 webtatic 102 k
apr-util x86_64 1.3.12-1.w5 webtatic 84 k
apr-util-ldap x86_64 1.3.12-1.w5 webtatic 15 k

Transaction Summary
================================================================================
Install 26 Package(s)
Upgrade 0 Package(s)

warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID cf4c4ff9
webtatic/gpgkey | 1.6 kB 00:00
Importing GPG key 0xCF4C4FF9 “Andy Thompson ” from /etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
Is this ok [y/N]: y

To search for available PHP-related packages we can run the following command:

yum search php

Typically the names of php modules begin with php-. Be careful about any packages that start with php53- as these will conflict with the webtatic versions.

Once you’ve installed PHP and any required supporting modules, skip to the “Last Steps” section below.
Upgrading to PHP 5.3 packages

If you already have PHP installed the upgrade steps are slightly different.

Warning: Before performing this upgrade please take the time to do a full backup of your system. The upgrade should generally be straightforward, but this will depend on the existing package state of your system.

To upgrade php, run:

$ rpm -q php
php-5.1.6-27.el5_5.3
$ sudo yum upgrade php

Dependencies Resolved

===================================================================================
Package Arch Version Repository
Size
===================================================================================
Updating:
php x86_64 5.3.20-1.w5 webtatic 1.4 M
Installing for dependencies:

Updating for dependencies:
php-cli x86_64 5.3.20-1.w5 webtatic 2.6 M
php-gd x86_64 5.3.20-1.w5 webtatic 108 k
php-mbstring x86_64 5.3.20-1.w5 webtatic 1.2 M
php-mysql x86_64 5.3.20-1.w5 webtatic 91 k

Transaction Summary
===================================================================================

$ rpm -q php
php-5.3.20-1.w5

The above commands will check the installed PHP version then update the existing php package and any associated packages to the 5.3 version in the webtatic and epel repositories.
Last steps

At this point you should have PHP 5.3 installed using the webtatic package repository. The last thing to do is to restart apache if it is currently running so that the new PHP version is loaded.

$ sudo /etc/init.d/httpd restart

A quick confirmation from the terminal should let you check the PHP version:

$ php -v
PHP 5.3.20 (cli) (built: Dec 20 2012 18:11:02)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

© 2011-2013 Rackspace US, Inc.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License

See license specifics and DISCLAIMER

Advertisements
Leave a comment

Leave your opinion

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: