Resolver problemas

PrestaShop 1.6: o diretório cache consome espaço de forma descontrolada

Revisto a 3 min de leitura cache espaço PrestaShop

Este guia é para o PrestaShop 1.6. No PrestaShop 1.7, 8 e 9, a cache está em var/cache: siga o guia var/cache ocupa muito espaço.

A pasta cache guarda ficheiros que o PrestaShop gera a partir dos modelos, das consultas SQL e de outros dados, para que a loja fique mais rápida. O PrestaShop deveria apagá-los quando já não servem, mas em algumas lojas a pasta cresce sem controlo até ocupar vários gigas e encher o alojamento.

Tudo o que está lá dentro pode ser apagado sem perder nada: o PrestaShop volta a gerar o que precisa na visita seguinte. O primeiro carregamento depois de a esvaziar será um pouco mais lento.

Ver que pasta ocupa mais

No cPanel, abra Disk Usage e navegue até à pasta cache da loja, ou por SSH:

du -sh ~/public_html/cache/cachefs ~/public_html/cache/smarty/compile ~/public_html/cache/smarty/cache

Esvaziá-la a partir do painel do PrestaShop

Vá a Advanced Parameters > Performance e clique em Clear cache (no canto superior direito). Se depois disso o espaço não diminuir ou o painel não carregar, esvazie-a manualmente.

Esvaziá-la manualmente

Por FTP ou a partir do gestor de ficheiros do cPanel, apague o conteúdo destas pastas, não as pastas:

  • cache/cachefs
  • cache/smarty/compile
  • cache/smarty/cache

Se vir um ficheiro index.php dentro delas, deixe-o: impede que a pasta possa ser listada a partir do navegador.

Esvaziá-la automaticamente todos os meses

Se o problema se repetir, agende uma tarefa no cPanel:

  1. Entre em Cron Jobs (tarefas cron).
  2. Em Add New Cron Job, em Common Settings escolha Once Per Month.
  3. Em Command, cole isto:
cd /home/USUARIO_CPANEL/public_html && find cache/cachefs cache/smarty/compile cache/smarty/cache -mindepth 1 ! -name index.php -delete 2>/dev/null
  1. Clique em Add New Cron Job.

Substitua USUARIO_CPANEL pelo seu utilizador do cPanel. Se a loja estiver numa subpasta ou noutro domínio, substitua /home/USUARIO_CPANEL/public_html pelo seu caminho, por exemplo /home/USUARIO_CPANEL/public_html/tienda. Tem mais detalhes sobre as tarefas agendadas em cron jobs no cPanel.

Se a pasta encher em dias em vez de meses, altere a frequência para Once Per Week. E, se a que cresce for cache/cachefs, reveja em Advanced Parameters > Performance a secção Caching: com o sistema File System ativado, o PrestaShop guarda aí as consultas. Se a desativar, a pasta deixa de crescer; verifique depois se a loja continua a carregar com a mesma rapidez.

O PrestaShop 1.6 já não recebe atualizações de segurança. Se puder, planeie a passagem para uma versão com suporte.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.