Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I upgrade APC on Zend Community Server (needed for Symfony2)?

I am running latest Zend Community Server and want to learn Symfony2 but the config.php gives me an error that my APC (alternative php cache) is deprecated and I have to upgrade it.

I'm running OS X Lion and already found the zend folder in:

    /usr/local/zend/

I also downloaded the source package (3.1.9 stable) from http://pecl.php.net but have no idea how to compile it or where to put it.

like image 510
codepushr Avatar asked Oct 09 '11 14:10

codepushr


3 Answers

Ok, so I probably found best solution - Zend Server has build-in Zend Optimizer+, which is ~1.8 times faster that APC (320 req./s VS ~190 req./s or regular ultrabook).

So you just need to comment-out APC check in Symfony2 configuration - Caching will still work.

To disable APC in Symfony2, do this:

  1. Open the Symfony2 requirements file:

/Symfony/app/SymfonyRequirements.php

And REPLACE the following lines of code:

        if (version_compare($installedPhpVersion, '5.4.0', '>=')) {
            $this->addRequirement(
                version_compare(phpversion('apc'), '3.1.13', '>='),
                'APC version must be at least 3.1.13 when using PHP 5.4',
                'Upgrade your <strong>APC</strong> extension (3.1.13+).'
            );
        } else {
            $this->addRequirement(
                version_compare(phpversion('apc'), '3.0.17', '>='),
                'APC version must be at least 3.0.17',
                'Upgrade your <strong>APC</strong> extension (3.0.17+).'
            );
        }

with:

/* DISABLED FOR ZEND SERVER, USING ZEND OPTIMIZER+ INSTEAD
       if (version_compare($installedPhpVersion, '5.4.0', '>=')) {
            $this->addRequirement(
                version_compare(phpversion('apc'), '3.1.13', '>='),
                'APC version must be at least 3.1.13 when using PHP 5.4',
                'Upgrade your <strong>APC</strong> extension (3.1.13+).'
            );
        } else {
            $this->addRequirement(
                version_compare(phpversion('apc'), '3.0.17', '>='),
                'APC version must be at least 3.0.17',
                'Upgrade your <strong>APC</strong> extension (3.0.17+).'
            );
        }
*/

Source: http://phpcloud-symfony2.pen.io/

like image 173
KestutisIT Avatar answered Oct 22 '22 22:10

KestutisIT


I tested my previously posted (and now deleted) configuration a few times and had to withdraw the guide. The make test command returned a bunch of errors. The reason among other things is that Zend has their own bytecode in some extensions (like APC!).

I dumped Zend Server CE and switched to MAMP after all. Give my working guide on how to correctly set up Symfony 2 on MAMP a shot: Click here.

like image 44
codepushr Avatar answered Oct 22 '22 22:10

codepushr


I found a possible solution here

Hope that helps

like image 29
jsteinmann Avatar answered Oct 22 '22 21:10

jsteinmann