Могут ли APC и OpCache сосуществовать в PHP5.4
Обычно мы запускаем php 5.4.x с включенным APC на CENTOS для наших производственных сайтов. У нас есть новое приложение, которое является segfaulting, и команда разработчиков думает, что это потому, что у нас есть APC. Приложение сложное и действительно нуждается в кеше кода операции.
У нас есть ряд существующих приложений, которые с радостью используют APC для их кода операции и других потребностей в кэшировании, которые мы не хотим проверять, поэтому нам бы хотелось просто установить расширение OpCache вместе с расширением APC, а затем позволить приложениям включать или отключить, как они будут. Однако я не могу найти никаких признаков того, что это сработает или не сработает, поэтому прежде чем мы начнем связываться с шеф-поваром, чтобы это произошло, я бы хотел получить некоторое представление об этом.
2 ответа
Вы не можете загрузить более одного кэша кода операции одновременно; только один или другой на самом деле будет работать, а другой выдаст ошибку при попытке загрузки.
Вам нужно будет удалить APC при установке OPcache.
Последний снимок APC (3.1.15-dev) может работать с opcache (используя apc.enable_opcode_cache=0 и apc.shm_strings_buffer=0), но в любом случае это расширение не работает, не поддерживается.
Если вы используете opcache и вам необходимо кэшировать пользовательские данные, см. Расширение APCu, которое заменяет APC без кэша кода операции.
https://pecl.php.net/package/APCu
Пакеты php-pecl-zendopcache и php-pecl-apcu доступны в репозитории EPEL.