在 PHP 5.6 上使用 opcache 和 Symfony 2.5.*
Using opcache on PHP 5.6 with Symfony 2.5.*
我们希望 'migrate' 我们的项目使用 opcache,而不是 apc。我们该怎么做?
在我们的 VPS 上,我们安装了 php 5.6 opcache.enable => On
,但是,我们的资产不会加载,并且 Doctrine 在日志文件中显示了几个错误。 (因为 Doctrine 还在尝试调用 ApcCache)
2015/02/16 15:22:21 [error] 22231#0: *29515 FastCGI sent in stderr: "PHP message: PHP Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch() in snip_path/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php on line 40" while reading response header from upstream, client: 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"
Doctrine 正在尝试使用 APC 缓存驱动程序,您的 VPS 中可能已将其关闭。
虽然我不熟悉 Doctrine,但问题似乎是 Doctrine 的行为就像安装了 APC,但显然没有
PHP Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch()
显然 Doctrine 想以 it's not designed to perform
的方式控制 Opcache
PHP's OpCache is not a full blown cache as APC It is a simply opcode cache.
您可能正在使用带有 doctine orm 的 apc,请检查 app/config/config.yml
doctrine:
orm:
...
metadata_cache_driver: apc
...
如果你正在使用它,你需要禁用它,清除缓存并尝试。
希望对您有所帮助。
我们希望 'migrate' 我们的项目使用 opcache,而不是 apc。我们该怎么做?
在我们的 VPS 上,我们安装了 php 5.6 opcache.enable => On
,但是,我们的资产不会加载,并且 Doctrine 在日志文件中显示了几个错误。 (因为 Doctrine 还在尝试调用 ApcCache)
2015/02/16 15:22:21 [error] 22231#0: *29515 FastCGI sent in stderr: "PHP message: PHP Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch() in snip_path/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php on line 40" while reading response header from upstream, client: 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"
Doctrine 正在尝试使用 APC 缓存驱动程序,您的 VPS 中可能已将其关闭。
虽然我不熟悉 Doctrine,但问题似乎是 Doctrine 的行为就像安装了 APC,但显然没有
PHP Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch()
显然 Doctrine 想以 it's not designed to perform
的方式控制 OpcachePHP's OpCache is not a full blown cache as APC It is a simply opcode cache.
您可能正在使用带有 doctine orm 的 apc,请检查 app/config/config.yml
doctrine:
orm:
...
metadata_cache_driver: apc
...
如果你正在使用它,你需要禁用它,清除缓存并尝试。
希望对您有所帮助。