Функция Doctrine undefined apc_fetch - программирование

Функция Doctrine undefined apc_fetch

Я использую этот учебник, в котором подробно описывается, как настроить CodeIgniter и Doctrine. Я использую CodeIgniter 2.1.0 и Doctrine 2.2.1, но я получаю эту ошибку:

Неустранимая ошибка: вызов функции undefined Doctrine\Common\Cache\apc_fetch() в /Applications/XAMPP/xamppfiles/htdocs/emma _watson_shrine/application/libraries/Doctrine/Common/Cache/ApcCache.php в строке 52

Вы можете помочь мне?

4b9b3361

Ответ 1

Вам нужно включить расширение APC для PHP.

Следуйте этому руководству.

В качестве альтернативы вы можете использовать другой драйвер кэширования, например memcache, и изменить конфигурацию Doctrine в соответствии с этим.

Проверьте документацию доктрины для альтернативных драйверов кеширования. Возможно, самым простым решением было бы использовать ArrayCache в разработке.

Ответ 2

Если вы не устанавливаете APC и просто хотите запустить ее, то в doctrine-cli.php в строке 6, измените режим:

define('ENVIRONMENT', 'production');

к

define('ENVIRONMENT', 'development');

Откройте файл Doctrine.php в строке 36 ~ 43, вы увидите, почему!

Ответ 3

Так как php 5.5 apc больше не используется. Вы должны установить apcu.

например.

apt install php5.6-apcu

Подробнее здесь:

http://php.net/manual/en/opcache.installation.php

А для тех, кто на php 7, есть модуль обратной совместимости:

apt-get install php7.0-apcu
apt-get install php7.0-apcu-bc

Кроме того, вам может понадобиться добавить этот репозиторий:

apt-add-repository ppa:ondrej/php
apt-get update

Ответ 4

вам нужно установить расширение apc для работы с кешированием. Поэтому просто загрузите расширение и установите его.

Это поможет вам установить расширение APC на apache.

http://kvcodes.com/2014/06/solution-call-undefined-function-apc_fetch/

Ответ 5

Для тех, кто получает это на Mac, просто установите apcu с помощью Homebrew:

brew install php56-apcu

(и включите расширение, если требуется).