J'ai besoin d'effacer mes doctrine's cache dans Symfony 2 .
Il doit y avoir un chemin en ligne de commande pour effacer le cache.
Ou où devrais-je trouver et supprimer les fichiers appartenant au cache?
app/console
va énumérer comment vous pouvez le faire
app/console doctrine:cache:clear-metadata
app/console doctrine:cache:clear-query
app/console doctrine:cache:clear-result
pour symfony 3+:
php bin/console
et liste de commandes (pour copier/coller depuis le répertoire du projet):
php bin/console doctrine:cache:clear-metadata
php bin/console doctrine:cache:clear-query
php bin/console doctrine:cache:clear-result
Si vous voulez le faire dans votre code (à partir de Documentation de Doctrine ):
Si vous voulez simplement supprimer toutes les entrées du cache, vous pouvez le faire avec le fichier Méthode deleteAll ().
<?php $cacheDriver = new \Doctrine\Common\Cache\ArrayCache(); $deleted = $cacheDriver->deleteAll();
Si vous utilisez APC, vous pouvez également appeler le code
<?php
$deleted = apc_clear_cache() && apc_clear_cache('user');
dans une page php sur le même serveur. C'est ce que fait la méthode deleteAll () dans la réponse de Antho, mais vous ne dépendez pas des classes de la doctrine. Btw: le cache complet sera vidé - juste au cas où vous l'utiliseriez pour des choses non-Doctrine.
Je pensais devenir fou avec la mise en cache des résultats de la doctrine - à la fin, je devais redémarrer memcached.
Je connais le titre de cet article, dit Symfony 2, mais pour ceux d'entre vous venant de Google, si vous avez Symfony 3+, ça va être:
bin/console
Par opposition à:
app/console