Функция 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
Вы можете помочь мне?
Ответы
Ответ 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
(и включите расширение, если требуется).