我们希望"迁移"我们的项目以使用opcache,而不是apc。我们该怎么做?
在我们的VPS上,我们安装了带有opcache.enable => On
的php5.6,但是,我们的资产不会加载,并且Doctrine在日志文件中显示了几个错误。(因为Doctrine仍在尝试将ApcCache称为)
2015/02/16 15:22:21[error]22231#0:*29515 FastCGI在stderr中发送:"PHP消息:PHP致命错误:在第40行的snipp_path/vendor/domaintice/Cache/lib/Doctrine/Common/Cache/Apcache.PHP中调用未定义函数Doctrine\Common\Cache\apc_fetch()",同时从上游读取响应标头,客户端:Snipp,服务器:snipp_server,请求:"GET/app_dev.php/js/57b7149_part_1_templates_2.js HTTP/1.1",上游:"fastcgi://unix:/var/run/php_fpm_cynex.sock:",主机:"snip_host",引用者:"snip_referer"
您可能正在将apc与doctine orm一起使用,请检查app/config/config.yml
doctrine:
orm:
...
metadata_cache_driver: apc
...
参考
如果你正在使用它,你需要取消销售,清除缓存并尝试它
希望这能对你有所帮助。
Doctrine正在尝试使用APC缓存驱动程序,该驱动程序可能在您的VPS中关闭。
虽然我不熟悉条令,但问题似乎是条令的行为就像安装了APC,而它显然不是
PHP致命错误:调用未定义的函数Doctrine\Common\Cache\apc_fetch()
显然,Doctrine希望以非设计用于执行的方式控制Opcache
PHP的OpCache并不像APC那样是一个完整的缓存。它只是一个简单的操作码缓存。