Symfony: Clear doctrine cache
Solution 1:
For Symfony 3+:
php bin/console
will list all commands, the following are relevant for cache:
php bin/console doctrine:cache:clear-metadata
php bin/console doctrine:cache:clear-query
php bin/console doctrine:cache:clear-result
Before Symfony 3:
app/console
will list how you can do it
app/console doctrine:cache:clear-metadata
app/console doctrine:cache:clear-query
app/console doctrine:cache:clear-result
Solution 2:
If you want to do it within your code (from Doctrine's documentation) :
If you simply want to delete all cache entries you can do so with the deleteAll() method.
$cacheDriver = new \Doctrine\Common\Cache\ArrayCache(); $deleted = $cacheDriver->deleteAll();
Solution 3:
I thought I was going crazy with doctrine results caching - in the end I had to restart memcached.
Solution 4:
In case you use APC, you could also just call the code
<?php
$deleted = apc_clear_cache() && apc_clear_cache('user');
in a php page on the same server. This is what deleteAll() method in Antho's answer does, but you do not depend on the Doctrine Classes. Btw: the complete cache will be flushed - just in case you use it for non-Doctrine stuff.
Solution 5:
I know the title of this post says Symfony 2, but for those of you coming from google, if you have Symfony 3+ its gonna be:
bin/console
As opposed to:
app/console