up vote 4 down vote favorite
1
share [g+] share [fb]

I've created a fresh installation of CentOS 5.6, and installed PHP 5.3 using the php53-* packages from the CentOS repository. Specifically, I've got:

  • php53
  • php53-cli
  • php53-common
  • php53-devel
  • php53-mysql
  • php53-pdo
  • php53-xml

However, I also need to install the mcrypt and apc extensions for my application. CentOS has a pre-built php-mcrypt package, but there is no equivalent php53-mcrypt. The installation of APC requires pecl which I would normally install (for 5.1) with the php-pear package, but likewise there doesn't seem to be a php53-pear package.

How do I build these?

Edit It looks like the php-pear package works with php53, so I managed to get APC installed properly. I still have a problem with mcrypt because it's not installable via pecl; it's only part of the core PHP build.

link|improve this question
feedback

2 Answers

up vote 3 down vote accepted

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();
?>
link|improve this answer
feedback

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)

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.