How to build missing PHP 5.3 extensions on CentOS 5.6
You can compile and install manually only the mcrypt extension. This is what I did in my CentOS 5.6 VPS:
First install some required packages:
yum install php53-devel libmcrypt-devel gcc gcc-c++
Then download the php 5.3.6 source code from php.net and unpack it:
wget http://mx2.php.net/get/php-5.3.6.tar.bz2/from/us3.php.net/mirror
tar xvjf php-5.3.6.tar.bz2
(Please note that the download link will change with every subsequent PHP release.)
Go to the directory with the mcrypt extension source code and compile:
cd php-5.3.6/ext/mcrypt/
phpize
aclocal
./configure
make
Then install:
make install
Create the configuration file for PHP /etc/php.d/mcrypt.ini containing:
extension=mcrypt.so
Restart apache:
/etc/init.d/httpd restart
Create a file with phpinfo just to check if the extension was loaded:
<?php
phpinfo();
?>
Regarding the php-pear package:
This problem should be solved with RHEL in order to be solved in CentOS, here is the bug report about that problem: PHP53 Lacks php53-pear
Install the older php-pear via yum install php-pear
and than run the following commands:
pear upgrade --force Console_Getopt pear upgrade --force pear pear upgrade-all
(It seems that these commands will solve the issue, it worked for labradort from the linked bug report and it worked for me)
You can also get php53-mcrypt and a few other missing packages by adding the EPEL repository from http://fedoraproject.org/wiki/EPEL to your system.