Class 'Memcached' 未找到但已安装在 symfony2 项目中

Class 'Memcached' not found but is installed in symfony2 project

我有一个 symfony2 项目,它使用 Memcached 来实现它的一些功能。 现在整个应用程序都崩溃了,因为它找不到 class Memcached。

我安装了 memcached 和 php5-memcached。我错过了什么吗?

apt-get install memcached php5-memcached

日志:

2016/06/09 09:53:28 [error] 3592#0: *3 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'Memcached' not found in /vagrant/vendor/aequasi/cache-bundle/src/Cache/Memcached.php on line 17
PHP message: PHP Stack trace:
PHP message: PHP   1. {main}() /vagrant/web/app.php:0
PHP message: PHP   2. Symfony\Component\HttpKernel\Kernel->handle() /vagrant/web/app.php:32
PHP message: PHP   3. Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle() /vagrant/app/bootstrap.php.cache:2462
PHP message: PHP   4. Symfony\Component\HttpKernel\HttpKernel->handle() /vagrant/app/bootstrap.php.cache:3246
PHP message: PHP   5. Symfony\Component\HttpKernel\HttpKernel->handleRaw() /vagrant/app/bootstrap.php.cache:3095
PHP message: PHP   6. Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch() /vagrant/app/bootstrap.php.cache:3122
PHP message: PHP   7. Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->preProcess() /vagrant/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php:123
PHP message: PHP   8. Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->getListeners() /vagrant/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php:231
PHP message: PHP   9. Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->lazyLoad() /vagrant/app/cache/dev/classes.php:1907
PHP message: PHP  10. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/classes.php:1934
PHP message: PHP  11. appDevDebugProjectContainer->getProfilerListenerService() /vagrant/app/bootstrap.php.cache:2172
PHP message: PHP  12. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/appDevDebugProjectContainer.php:9344
PHP message: PHP  13. appDevDebugProjectContainer->getProfilerService() /vagrant/app/bootstrap.php.cache:2172
PHP message: PHP  14. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/appDevDebugProjectContainer.
2016/06/09 09:53:28 [error] 3592#0: *3 FastCGI sent in stderr: "AwareEventDispatcher->getListeners() /vagrant/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php:231
PHP message: PHP   9. Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->lazyLoad() /vagrant/app/cache/dev/classes.php:1907
PHP message: PHP  10. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/classes.php:1934
PHP message: PHP  11. appDevDebugProjectContainer->getProfilerListenerService() /vagrant/app/bootstrap.php.cache:2172
PHP message: PHP  12. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/appDevDebugProjectContainer.php:9344
PHP message: PHP  13. appDevDebugProjectContainer->getProfilerService() /vagrant/app/bootstrap.php.cache:2172
PHP message: PHP  14. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/appDevDebugProjectContainer.php:9328
PHP message: PHP  15. appDevDebugProjectContainer->getDataCollector_CacheService() /vagrant/app/bootstrap.php.cache:2172
PHP message: PHP  16. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/appDevDebugProjectContainer.php:1204
PHP message: PHP  17. appDevDebugProjectContainer->getAequasiCache_Instance_DefaultService() /vagrant/app/bootstrap.php.cache:2172
PHP message: PHP  18. Symfony\Component\DependencyInjection\Container->get() /vagrant/app/cache/dev/appDevDebugProjectContainer.php:811
PHP message: PHP  19. appDevDebugProjectContainer->getAequasiCache_Instance_Default_CacheInstanceService() /vagrant/app/bootstrap.php.cache:2172
PHP message: PHP  20. spl_autoload_call() /vagrant/app/bootstrap.php.cache:832
PHP message: PHP  21. Symfony\Component\Debug\DebugClassLoader->loadClass() /vagrant/app/bootstrap.php.cache:0
PHP message: PHP  22. require_once() /vagrant/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php:169
PHP message: PHP  23. Symfony\Component\Debug\ErrorHandler::handleFatalError() /vagrant/vendor/sym

您可能忘记在 php.ini 中或通过 php5enmod 启用 memcached 扩展,具体取决于您的 PHP 版本。

php5enmod 是在 PHP 5.4.0 中引入的,因此如果您有旧版本的 PHP,您需要手动编辑 php.ini

我刚刚升级了模块,然后又重新启动了我的所有服务。