Я запускаю последний сервер сообщества Zend и хочу изучить Symfony2, но config.php дает мне ошибку, что мой APC (альтернативный php-кеш) устарел, и я должен его обновить.
Я запускаю OS X Lion и уже нашел папку zend в:
/usr/local/zend/
Я также загрузил исходный пакет (3.1.9 stable) из http://pecl.php.net, но понятия не имею, как его скомпилировать или куда его поместить.
Хорошо, поэтому я нашел лучшее решение – Zend Server имеет встроенный Zend Optimizer +, что в 1,8 раза быстрее, чем APC (320 req./s VS ~ 190 req./s или обычный ultrabook).
Поэтому вам просто нужно прокомментировать проверку APC в конфигурации Symfony2. Кэширование все равно будет работать.
Чтобы отключить APC в Symfony2, выполните следующие действия:
/Symfony/app/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/
Я несколько раз тестировал свою ранее размещенную (и теперь удаленную) конфигурацию и должен был удалить руководство . Команда make test
вернула кучу ошибок. Причина в том, что Zend имеет собственный байт-код в некоторых расширениях (например, APC!).
Я сбросил Zend Server CE и все-таки переключился на MAMP. Дайте мое рабочее руководство о том, как правильно настроить Symfony 2 на MAMP: Нажмите здесь .
Я нашел возможное решение здесь
надеюсь, это поможет
Я тоже пользователь Mac, и я столкнулся с той же проблемой с Symfony и Zend Server. В итоге я отключил расширение apc с панели управления Zend Server. Таким образом, предупреждение, появившееся в конфигурации symfony, превратилось в уведомление, в котором говорилось мне об установке apc или какого-либо другого менеджера кешей. После этого я снова включил apc, и все работает нормально. Я теперь не очень хороший вопрос, но, вероятно, вы столкнулись с этой проблемой при попытке разработки локально, и у вас, вероятно, не будет этой проблемы при загрузке сайта на реальный хостинг.
Я надеюсь, что это помогает!
Насколько мне известно, Zend Server не поддерживает APC.
Они предоставляют функции обертки, которые отображают функции APC для объектов Zend Data Cache.
Это сработало для меня:
Включение альтернативного расширения кэш-памяти PHP (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 ) должен теперь работать.