CentOS 5 comes with php 5.1 version. There is no official PHP 5.2+ release for upgrade since last 3 years. So, It was hard for any php developer to work with new php functions like json_encode, json_decode and powerful frameworks like symfony and cakephp 2
As a result, Developer had to implement alternative functions to integrate twitter, myspace OAuth API. Today wordpress has officially said bye bye to php 4 and mysql 4. So finally, I gathered some courage to mess with my current php installation.
I followed the following steps to upgrade php 5.3 on centos 5.
Adding webtatic repository to yum for php 5.3 upgrade
su cd ~ rpm -ivh http://repo.webtatic.com/yum/centos/5/`uname -i`/webtatic-release-5-0.noarch.rpm
Updating PHP with yum
yum --enablerepo=webtatic update php
Up to this point, everything had executed perfectly, including dependency resolving.
After upgrading PHP 5.3, when I tried to browse my site homepage, I got blank page!
I thought now I went into deep trouble, I shouldn’t had taken the risk but then I thought lets check all sites hosted on my server. Fortunately they were working correctly. So as computer engineer, I started digging into problem with basics. Just added 2 lines of error debugging code into my header file.
Got xcache error: function xcache_isset() not defined on line blah… So I got it. I checked for php version.
Everything was there but xcache was missing. Finally I got the clue, I have to rebuild xcache with newer version of php. So I rebuild the xcache.
XCache 1.3.0 rebuild commands for PHP 5.3 on CentOS 5
wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz tar -xzvf xcache-1.3.0.tar.gz cd xcache-1.3.0/ phpize --clean phpize ./configure --enable-xcache && make make install
That’s it. After restarting lighttpd, my homepage started working correctly.