2012-08-06 40 views
24

Necesito borrar mi doctrine's caché en .Symfony2 doctrine clear cache

Debe haber alguna forma en la línea de comandos para borrar el caché.

¿O dónde debería encontrar y eliminar los archivos que pertenecen al caché?

+5

'rm -rf aplicación/caché/*' no ayudó? –

+0

¿La respuesta ayuda? si no, intente borrar el caché completo usando la caché de la aplicación/consola: borrar – amitchhajer

+1

fue útil. –

Respuesta

89
app/console 

enumerará cómo puede hacerlo

app/console doctrine:cache:clear-metadata 
app/console doctrine:cache:clear-query 
app/console doctrine:cache:clear-result 
+0

muchas gracias – Gigala

+0

Por cierto, si está usando mongodb, por ejemplo, puede hacer 'doctrina app/console: mongodb: cache: clear-metadata' o simplemente hacer 'app/console doctrine' y verá todas las opciones disponibles – Gigala

+2

Tenga en cuenta que siempre puede usar 'app/console list' para mostrar todos los comandos o' app/console list doctrine' para mostrar comandos en el espacio de nombres 'doctrine' – caponica

8

Si desea hacerlo dentro de su código (de Doctrine's documentation):

Si simplemente desea borrar todas las entradas de caché puede hacerlo con el método deleteAll().

<?php 
    $cacheDriver = new \Doctrine\Common\Cache\ArrayCache(); 
    $deleted = $cacheDriver->deleteAll(); 
+7

¿Dónde se supone que debo poner este código? – Gardner

+1

¿Cuál es la diferencia con el lavado de caché? – Czechnology

0

En caso de usar APC, usted podría también acaba de llamar al código

<?php 
$deleted = apc_clear_cache() && apc_clear_cache('user'); 

en una página php en el mismo servidor. Esto es lo que hace el método deleteAll() en la respuesta de Antho, pero no depende de las clases de Doctrine. Por cierto: se vaciará la memoria caché completa, por si la usas para cosas que no sean de Doctrine.

1

Pensé que me estaba volviendo loco con doctrine results caching - al final tuve que reiniciar memcached.