Bonjour,
J'ai une base de donnée WebCloud pour mon installation Prestashop.
Dans la bdd, les statistiques Prestashop gavent la base de donnée en quelques jours, et ça fait dépasser mon quota.
J'en ai marre de devoir me connecter à PHPMyAdmin tous les 2 jours et vider manuellement les tables trop massives.
J'ai donc essayé de mettre en place un cron pour vider les tables de statistiques automatiquement chaque jour afin de ne pas dépasser mon quota.
Seulement ça ne marche pas, je ne vois pas du tout ce que je fais de travers, et je ne sais plus quoi essayer…
Voilà mon script actuel que j'ai placé dans mon dossier admin :
ini_set('display_errors', 'on');
include dirname(FILE) . '/../config/config.inc.php';
$db = Db::getInstance();
$tables = [
'ps_layered_filter_block',
'ps_connections',
'ps_connections_page',
'ps_guest',
'ps_page_viewed'
];
$logFile = dirname(FILE) . '/stats_deletion_log.txt';
$logMessage = date('Y-m-d H:i:s') . ": Tables emptied successfully\n";
foreach ($tables as $table) {
$db->execute('TRUNCATE TABLE `' . DB_PREFIX . $table . '`');
}
// Log the deletion to the file
file_put_contents($logFile, $logMessage, FILE_APPEND);
echo 'Tables emptied successfully';
?>
Dans mon panel OVH j'ai fait pointer la tâche vers mon fichier cron.php que j'ai trouvé sur un forum :
ini_set('display_errors','on'); include dirname(FILE) . '/../config/config.inc.php'; $link = new Link(); $shop_url = $link->getBaseLink();
$admin_dir = basename(dirname(FILE));
$cron_job_token = Configuration::getGlobalValue('CRONJOBS_EXECUTION_TOKEN');
$cronUrl = $shop_url . $admin_dir . '/index.php?controller=AdminCronJobs&token=' . $cron_job_token;
echo Tools::file_get_contents($cronUrl);
J'ai aussi essayé de pointer la tâche OVH vers mon script cron directement, mais rien ne marche.
Est-ce que j'ai raté quelque chose? Auriez-vous des scripts cron Prestashop qui fonctionnent ? Des conseils sur le setup dans le panel OVH ?
Merci d'avance
Désactive complètement les statistiques Prestashop (ça le ralenti beaucoup) et met en place un tracking externe (type Google analytics ou mieux Matomo)
Justement j'ai désactivé tous les modules qui collectent des statistiques, mais rien n'y fait. La table grossit à vue d'oeil, je ne comprends pas pourquoi.
D'où mon sujet sur la tâche cron…
Les modules ou les fonctions de PS lui même ?
Quelle tables exactement ?
Sur des sujets comme ça il vaut demander du support directement sur le forum FR de PS
Ce sont des problèmes courants