在PHP 5.6上使用opcache和Symfony 2.5。*

时间:2015-02-16 14:40:18

标签: php doctrine-orm symfony-2.5

我们希望迁移'我们的项目使用opcache而不是apc。我们怎么做到这一点?

在我们的VPS上,我们安装了带有opcache.enable => On的php 5.6,但是,我们的资产不会加载,Doctrine会在日志文件中显示多个错误。 (因为Doctrine仍然试图调用ApcCache)

  

2015/02/16 15:22:21 [错误] 22231#0:* 29515 FastCGI在stderr中发送:" PHP消息:PHP致命错误:调用未定义的函数Doctrine \ Common \ Cache \ apc_fetch( )在第40行和第34行的 snip_path /vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php中;从上游读取响应头时,客户端: snip_ip ,服务器: snip_server ,请求:" GET /app_dev.php/js/57b7149_part_1_templates_2.js HTTP / 1.1& #34;,upstream:" fastcgi:// unix:/var/run/php_fpm_cynex.sock:",host:" snip_host ",referrer :" snip_referer "

3 个答案:

答案 0 :(得分:1)

你可能正在使用apc和doctine orm,请检查app / config / config.yml

doctrine:
   orm:
      ...
      metadata_cache_driver: apc
      ...

Refer

如果您正在使用它,则需要取消它,清除缓存并尝试。

希望这可以帮助你。

答案 1 :(得分:0)

Doctrine正试图使用​​可能在您的VPS中关闭的APC缓存驱动程序。

答案 2 :(得分:0)

虽然我不熟悉Doctrine,但问题似乎是Doctrine表现得像安装了APC,显然它不是

  

PHP致命错误:调用未定义的函数Doctrine \ Common \ Cache \ apc_fetch()

显然,Doctrine希望以it's not designed to perform

的方式控制Opcache
  

PHP的OpCache不是一个完整的缓存,因为它是一个简单的操作码缓存。