As Irakli already discussed, the Alternative PHP Cache (APC) is an op-code pre-compiler and a cache system that can boost the performance of a PHP application up to 10 times. Op-code caches are very effective for a Drupal website, since Drupal deals with large number of source files and time spent in parsing them significantly affects performance.
However, if you don’t have XAMPP and need to install it on CentOS, you can follow this to get around some of the problems that happen with the default server settings.
Install Pre-reqs
Using yum install the required prerequisites.
sudo yum install php-devel php-pear httpd-develInstall APC
Use the command
sudo pecl install apcat this point you’ll likely see the error
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 92160 bytes) in /usr/share/pear/PEAR/PackageFile/v2/Validator.php on line 1831Apparantly, the PECL/PEAR scripts do not use the settings from /etc/php.ini so you need to update PEAR’s memory settings to give is some more breathing room. Edit the file /usr/share/pear/pearcmd.php and add the following at the beginning:
@ini_set('memory_limit', '16M');Configure/Restart
Now configure PHP to use the new extension. Create the file /etc/php.d/apc.ini and in that file put:
extension=apc.soNow restart apache
sudo /etc/init.d/httpd greacefulMaintenance
In the future, if new versions of APC are released, you can easily upgrade them using
sudo pecl upgrade apcI hope this helps!


Delicious
Digg
StumbleUpon
Reddit
Technorati
If you run across the problem of
cannot open /httpd/build/config_vars.mk: No such file or directory at /usr/sbin/apxs line 201The problem is likely that you do not have the x64 version of the apr-devel package installed. So you much first do:
yum install apr-devel.x86_64Then you can proceed with the installation of APC. Hope this helps someone.
Rather than change /usr/share/pear/pearcmd.php (which is a large script that may be updated) change /usr/bin/pecl to include ‘’-d memory_limit=16M’‘. This is more likely to work well with system updates via yum — which may want to update pearcmd.php
I have suggested this fix to redhat — where I raised the bug
That is another good idea.
Recently, I have noticed since going to CentOS 5.2 that this problem no longer happens.