APC Очистить записи каталога - PullRequest
2 голосов
/ 04 января 2012

Я видел это: Как очистить записи в кэше APC?

И у меня это работает на файл:

 $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;
    }
 }

Независимо от того, как я играю с ним, я не могу найти способ очистить на основе Каталог , кто-нибудь знает, как это сделать?

т.е. как то так:

 $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;
        }
     }

1 Ответ

2 голосов
/ 04 января 2012

Используйте apc_cache_info , чтобы получить список кэшированных файлов. Назовите apc_delete_file для любых файлов, которые соответствуют вашей маске.

Вы также можете использовать APCIterator , чтобы найти все файлы, соответствующие вашей маске, а затем удалить их. Обратите внимание, что вы захотите переместить итератор к следующему файлу, прежде чем удалить предыдущий. Или создайте массив всех совпадающих имен файлов с помощью итератора, а затем удалите их из собственного массива. Изменить коллекцию при ее обходе сложно.

Нет ни одного звонка, который делает это.

...