Как обновить APC на Zend Community Server (необходим для Symfony2)? - PullRequest
8 голосов
/ 09 октября 2011

Я использую последний Zend Community Server и хочу изучить Symfony2, но config.php выдает ошибку, что мой APC (альтернативный php-кеш) устарел, и мне нужно его обновить.

Япод управлением OS X Lion и уже нашел папку zend в:

    /usr/local/zend/

Я также скачал исходный пакет (стабильный 3.1.9) из http://pecl.php.net, но не знаю, как его скомпилировать или гдепоставить его.

Ответы [ 6 ]

4 голосов
/ 14 июля 2013

Хорошо, поэтому я, вероятно, нашел лучшее решение - Zend Server имеет встроенный Zend Optimizer +, который примерно в 1,8 раза быстрее APC (320 запросов / с VS ~ 190 запросов / с или обычный ультрабук).

Так что вам просто нужно закомментировать проверку APC в конфигурации Symfony2 - кэширование все равно будет работать.

Чтобы отключить APC в Symfony2, сделайте следующее:

  1. Откройте файл требований Symfony2:

/ Symfony / приложение / SymfonyRequirements.php

И ЗАМЕНИТЕ следующие строки кода:

        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+).'
            );
        }

с

/* 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+).'
            );
        }
*/

Источник: http://phpcloud -symfony2.pen.io /

3 голосов
/ 28 ноября 2012
3 голосов
/ 10 октября 2011

Я протестировал ранее опубликованную (и теперь удаленную) конфигурацию несколько раз, и мне пришлось отозвать руководство . Команда make test вернула кучу ошибок. Причиной среди прочего является то, что Zend имеет свой собственный байт-код в некоторых расширениях (например, APC!).

Я сбросил Zend Server CE и переключился на MAMP. Дайте мое рабочее руководство о том, как правильно настроить Symfony 2 на MAMP: Нажмите здесь .

2 голосов
/ 25 апреля 2012

Насколько я знаю, Zend Server не поддерживает APC.

Они предоставляют функции-оболочки, которые отображают функции APC на объекты Zend Data Cache.

2 голосов
/ 10 октября 2011

Я тоже пользователь Mac, и я столкнулся с той же проблемой с Symfony и Zend Server. В конце концов я отключил расширение apc на панели управления Zend Server. При этом предупреждение, появившееся в конфигурации Symfony, превратилось в уведомление, говорящее мне об установке apc или другого менеджера кэша. После этого я снова включил apc и все работает нормально. Сейчас это не очень хорошее решение, но, вероятно, вы сталкиваетесь с этой проблемой, когда пытаетесь разрабатывать локально, и у вас, вероятно, не будет этой проблемы при загрузке сайта на реальный хостинг.

Надеюсь, это поможет!

1 голос
/ 13 июля 2013

ТОЛЬКО для WINDOWS

Это сработало для меня:

Включение альтернативного расширения PHP Cache (APC) в Zend Server CE

Download non-thread safe VC9 APC DLL (I went for php_apc-5.3-nts-svn20100226-vc9-x86.zip) from http://downloads.php.net/pierre/
Unzip it and put the extension dll php_apc.dll into C:\Program Files\Zend\ZendServer\lib\phpext (assuming you left the Zend Server install location as its default)
Add the following to your php.ini (in C:\Program Files\Zend\ZendServer\etc):

;Enable APC
extension=php_apc.dll
;Enable upload progress bar
apc.rfc1867=on

Give Apache/PHP a restart

Теперь проверьте phpinfo () на панели инструментов Zend, и вы должны увидеть что-то вроде следующего: apc и различные директивы выводятся в части конфигурации вывода. Любой из плагинов индикатора загрузки файла APC (например, http://www.ibm.com/developerworks/library/os-php-v525/index.html) теперь должен работать.

...