Я пытаюсь настроить APC для работы с моим сайтом Symfony 1.4/Doctrine 1.2. В настоящее время я использую WAMP 2.1, и я успешно установил расширение APC. Когда я делаю phpinfo(), я получаю описание, показывающее, что APC включен.Symfony 1.4/Doctrine 1.2 не может распознать расширение APC
apc
APC Support enabled
Version 3.1.6
APC Debugging Disabled
MMAP Support Disabled
Locking type File Locks
Revision $Revision: 303642 $
Build Date Dec 1 2010 21:08:06
Directive Local Value Master Value
apc.cache_by_default On On
apc.canonicalize On On
apc.coredump_unmap Off Off
apc.enable_cli Off Off
apc.enabled On On
apc.file_md5 Off Off
apc.file_update_protection 2 2
apc.filters no value no value
apc.gc_ttl 3600 3600
apc.include_once_override Off Off
apc.lazy_classes Off Off
apc.lazy_functions Off Off
apc.max_file_size 10M 10M
apc.num_files_hint 1000 1000
apc.preload_path no value no value
apc.report_autofilter Off Off
apc.rfc1867 Off Off
apc.rfc1867_freq 0 0
apc.rfc1867_name APC_UPLOAD_PROGRESS APC_UPLOAD_PROGRESS
apc.rfc1867_prefix upload_ upload_
apc.rfc1867_ttl 3600 3600
apc.shm_segments 1 1
apc.shm_size 64M 64M
apc.slam_defense On On
apc.stat On On
apc.stat_ctime Off Off
apc.ttl 0 0
apc.use_request_time On On
apc.user_entries_hint 4096 4096
apc.user_ttl 0 0
apc.write_lock On On
Однако я получаю ошибку говоря расширение APC не загружен, когда я пытаюсь установить кэш запросов использовать APC в симфони ProjectConfiguration.class:
public function configureDoctrine(Doctrine_Manager $manager)
{
$manager->setAttribute(Doctrine_Core::ATTR_QUERY_CLASS, 'Doctrine_Query_Extra');
$manager->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE, new Doctrine_Cache_Apc()); //use APC to query cache
}
Вот Я получаю ошибку при запуске очистить кэш (PHP Symfony куб.см):
Fatal error: Uncaught exception 'Doctrine_Cache_Exception' with message 'The apc extension must be loaded for using this backend !' in C:..\lib\vend or\symfony-1.4.14\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Cach e\Apc.php:44
Я погуглить везде, и я не могу понять это. Я перезапустил WAMP безрезультатно. Я думаю, что это может быть проблемой с расширением APC, которое я загрузил. Я прочитал, что мне пришлось использовать скомпилированную версию VC6 для WAMPSERVER 2.1, поэтому я сделал это. Я нашел двоичный код с надписью «php_apc_316_php53_vc6.dll». Тот факт, что я могу видеть, что он включен в phpinfo(), должен означать, что он правильно установлен правильно? Не хватает ли какой-либо конфигурации symfony до добавления этой строки в ProjectConfiguration.class? В стороне, у меня есть такая же ошибка, когда я пытаюсь использовать memcache в качестве кеша запросов, даже несмотря на то, что мой сервер memcache установлен и работает должным образом, что заставляет меня поверить, что мне не хватает какого-то шага конфигурации Symfony/Doctrine.
Любая помощь была бы высоко оценена! Благодаря! Фрэнк
Чтобы уточнить, вы получаете сообщение об ошибке, используя cli и/или веб-интерфейс? Если это так, это может быть конфигурация 'php.ini' (поскольку они разные для cli и apache) – j0k
Спасибо за ответ jOk, я получил ошибку, используя cli. – frankp221