Мы хотели бы "перенести" наш проект на использование opcache, а не apc. Как мы можем это сделать?
На нашем VPS у нас есть php 5.6, установленный с opcache.enable => On
, однако наши ресурсы не будут загружаться, а Doctrine показывает несколько ошибок в файле журнала. (Поскольку Doctrine все еще пытается вызвать ApcCache)
2015/02/16 15:22:21 [error] 22231 # 0: * 29515 FastCGI отправлено в stderr: "Сообщение PHP: PHP Неустранимая ошибка: вызов неопределенной функции Doctrine\Common\Cache\apc_fetch() в snip_path/vendor/доктрина/кеш/lib/Doctrine/Common/Cache/ApcCache.php в строке 40 "при чтении заголовка ответа от восходящего потока, клиент: snip_ip, server: snip_server, request:" GET/app_dev.php/js/57b7149_part_1_templates_2.js HTTP/1.1 ", upstream:" fastcgi://unix: /var/run/php_fpm_cynex.sock: ", host:" snip_host ", referrer:" snip_referer "
Вы можете использовать apc с doctim orm, пожалуйста, проверьте app/config/config.yml
doctrine:
orm:
...
metadata_cache_driver: apc
...
Если вы используете его, вам нужно его распаковать, очистить кеш и попробовать.
Надеюсь, это может вам помочь.
Doctrine пытается использовать драйвер кэша APC, который, вероятно, отключен в вашем VPS.
Хотя я не знаком с Doctrine, проблема заключается в том, что Doctrine ведет себя как APC, которая явно не является
PHP Неустранимая ошибка: вызов неопределенной функции Doctrine\Common\Cache\apc_fetch()
По-видимому, Doctrine хочет контролировать Opcache способами, которые он не предназначен для выполнения
PHP OpCache не является полномасштабным кэшем как APC. Это просто кеш-код операции.