2010-04-22 5 views

risposta

1

Non sono sicuro al 100% se la mia risposta è corretta ma in PROJECT/lib/symfony/cache/sfCacheFile.class.php c'è un metodo: sfCacheFile::getFilePath() che restituisce un percorso a un file. Sembra che non ci sia alcuna protezione contro le limitazioni del filesystem ext2.

Ma c'è una soluzione molto semplice - ignorare tale classe:

  1. In PROJECT/apps/APP/config/factories.yml impostare la propria classe di cache:

    default: 
    # Others factories (if any) 
    
        view_cache: 
        class: myOwnFileCache 
        param: 
         automatic_cleaning_factor: 0 
         cache_dir:     %SF_TEMPLATE_CACHE_DIR% 
         lifetime:     86400 
         prefix:     %SF_APP_DIR%/template 
    
  2. Creare ora quella classe e assicurarsi che si estende sfFileCache e overrides getFilePath()

    }

  3. Cancella cache: ./symfony cc

Ora è necessario 32000 chiavi della cache che inizia con la stessa identica due lettere/cifre per schiacciare il filesystem.

+0

Questa è l'idea; D grazie – belaz