2012-01-03 4 views
2

J'ai vu ceci: How to clear APC cache entries?APC supprimer des entrées d'annuaire

et moi avons ce travail par fichier:

$filename = '/home/testing_code/abc.php'; 
if (apc_compile_file($filename)) { 
    if (apc_delete_file($filename)) { 
     echo "Successfully deleted file $filename from APC cache.<br>", PHP_EOL; 
    } 
} 

Peu importe comment je joue avec elle, je ne peux pas trouver un moyen de claire, fondée sur Répertoire, quelqu'un sait comment faire cela?

dire quelque chose comme ceci:

$filename = '/home/testing_code/*.php'; 
    if (apc_compile_file($filename)) { 
     if (apc_delete_file($filename)) { 
      echo "Successfully deleted file $filename from APC cache.<br>", PHP_EOL; 
     } 
    } 

Répondre

2

Utilisez apc_cache_info pour obtenir la liste des fichiers mis en cache. Appelez apc_delete_file sur tous les fichiers correspondant à votre masque.

Vous pouvez également utiliser un APCIterator pour rechercher tous les fichiers correspondant à votre masque, puis les supprimer. Notez que vous souhaiterez déplacer l'itérateur vers le fichier suivant avant de supprimer le précédent. Ou créez un tableau de tous les noms de fichiers correspondants en utilisant l'itérateur, puis supprimez-les de votre propre tableau. Modifier une collection en la parcourant est délicat.

Il n'y a aucun appel unique qui fait cela.

+0

merci - = apc_cache_info, travaillé parfait. – user1076412

Questions connexes