Xampp apc已启用,但symfony 3未识别它

Xampp apc已启用,但symfony 3未识别它,xampp,symfony,apc,apcu,Xampp,Symfony,Apc,Apcu,我在xampp服务器中安装并启用了APCu,如: 从(PHP7:)下载文件php_apcu.dll,并将其复制/粘贴到扩展目录中。我还从php.ini启用了它: ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; [...] extension=php_apcu.dll 因此,重新启动apache服务器和symfony服务器。 phpinfo()显示apc已正确启用: 但symfony没有认出它: 我认

我在xampp服务器中安装并启用了APCu,如:
从(PHP7:)下载文件php_apcu.dll,并将其复制/粘贴到扩展目录中。我还从php.ini启用了它:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

[...]

extension=php_apcu.dll
因此,重新启动apache服务器和symfony服务器。
phpinfo()显示apc已正确启用:

但symfony没有认出它:

我认为您已经成功地设置了
APC
,但是symfony似乎以某种方式缓存了结果本身。请尝试以下操作以查看更新的状态

根据操作系统重启apache(例如在ubuntu/debian上)

cd到symfony项目目录并清除缓存

然后重新加载页面,您应该会看到APC现在是绿色的(希望如此)

负责收集这些状态的实际组件类是
Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector
当我浏览它时,在浏览器中呈现这些红/绿框时没有做任何特殊的事情,只是检查扩展是否已加载并已启用,例如collect函数看起来像:

    /**
     * {@inheritdoc}
     */
    public function collect(Request $request, Response $response, \Exception $exception = null)
    {
        $this->data = array(
            'app_name' => $this->name,
            'app_version' => $this->version,
            'token' => $response->headers->get('X-Debug-Token'),
            'symfony_version' => Kernel::VERSION,
            'symfony_state' => 'unknown',
            'name' => isset($this->kernel) ? $this->kernel->getName() : 'n/a',
            'env' => isset($this->kernel) ? $this->kernel->getEnvironment() : 'n/a',
            'debug' => isset($this->kernel) ? $this->kernel->isDebug() : 'n/a',
            'php_version' => PHP_VERSION,
            'xdebug_enabled' => extension_loaded('xdebug'),
            'eaccel_enabled' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'),
            'apc_enabled' => extension_loaded('apc') && ini_get('apc.enabled'),
            'xcache_enabled' => extension_loaded('xcache') && ini_get('xcache.cacher'),
            'wincache_enabled' => extension_loaded('wincache') && ini_get('wincache.ocenabled'),
            'zend_opcache_enabled' => extension_loaded('Zend OPcache') && ini_get('opcache.enable'),
            'bundles' => array(),
            'sapi_name' => PHP_SAPI,
        );

        if (isset($this->kernel)) {
            foreach ($this->kernel->getBundles() as $name => $bundle) {
                $this->data['bundles'][$name] = $bundle->getPath();
            }

            $this->data['symfony_state'] = $this->determineSymfonyState();
        }
    }
有问题的路线是

'apc\u enabled'=>extension\u loaded('apc')和&ini\u get('apc.enabled'),

我有同样的问题,我的盒子在缓存后是绿色的:清除。但是,如果您想使用apc缓存,则还有更多功能,例如,您必须专门为某些组件(如条令和验证)启用apc缓存

bin/console cache:clear
    /**
     * {@inheritdoc}
     */
    public function collect(Request $request, Response $response, \Exception $exception = null)
    {
        $this->data = array(
            'app_name' => $this->name,
            'app_version' => $this->version,
            'token' => $response->headers->get('X-Debug-Token'),
            'symfony_version' => Kernel::VERSION,
            'symfony_state' => 'unknown',
            'name' => isset($this->kernel) ? $this->kernel->getName() : 'n/a',
            'env' => isset($this->kernel) ? $this->kernel->getEnvironment() : 'n/a',
            'debug' => isset($this->kernel) ? $this->kernel->isDebug() : 'n/a',
            'php_version' => PHP_VERSION,
            'xdebug_enabled' => extension_loaded('xdebug'),
            'eaccel_enabled' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'),
            'apc_enabled' => extension_loaded('apc') && ini_get('apc.enabled'),
            'xcache_enabled' => extension_loaded('xcache') && ini_get('xcache.cacher'),
            'wincache_enabled' => extension_loaded('wincache') && ini_get('wincache.ocenabled'),
            'zend_opcache_enabled' => extension_loaded('Zend OPcache') && ini_get('opcache.enable'),
            'bundles' => array(),
            'sapi_name' => PHP_SAPI,
        );

        if (isset($this->kernel)) {
            foreach ($this->kernel->getBundles() as $name => $bundle) {
                $this->data['bundles'][$name] = $bundle->getPath();
            }

            $this->data['symfony_state'] = $this->determineSymfonyState();
        }
    }