Dopo un cambio host o un aggiornamento delle credenziali, PrestaShop continua a leggere le impostazioni MySQL da un file di configurazione – non dal Back Office. Se host, nome database, utente o password non corrispondono più al server, il negozio e l’admin smettono di caricarsi. Questa guida mostra come modificare in sicurezza le impostazioni di connessione database prestashop, svuotare la cache che può conservare valori vecchi e verificare i messaggi di errore più comuni.
A partire da PrestaShop 1.7 (incluse le versioni 8 e 9), le impostazioni di connessione database prestashop si trovano in app/config/parameters.php. I negozi più vecchi 1.5 – 1.6 usano config/settings.inc.php. Note ufficiali su quel file sono nella documentazione per sviluppatori PrestaShop 9 (parameters.php). Valori errati mettono il negozio offline, quindi esegui un backup completo di PrestaShop prima di modificare qualsiasi cosa.
Quando serve modificare la connessione database prestashop
Di solito modifichi queste impostazioni quando:
- Hai migrato il negozio su un nuovo host o VPS e il provider ha fornito un nuovo host, nome DB, utente o password.
- Hai rinominato il database o ruotato la password MySQL nel pannello.
- Hai ripristinato i file su un server che ha già un database diverso.
- Il front office o il Back Office mostra un errore di connessione database / accesso negato dopo lo spostamento.
Non modifichi questo file per rinominare prodotti, cambiare l’email del negozio o correggere URL SEO. Sono schermate separate. Se il negozio è già online e vuoi solo un dump più sicuro prima di una migrazione, inizia dalla guida al backup collegata sopra.
PrestaShop 1.7, 8 e 9 – modifica parameters.php
Per cambiare la connessione database prestashop su un negozio moderno, usa SFTP, SSH o il file manager del tuo host. Lavora su una copia se puoi, poi sostituisci il file live in un solo passaggio.
- Apri la root del negozio e vai a
app/config/parameters.php. - Scarica una copia sul tuo computer (assicurazione per il rollback).
- Trova le chiavi dell’array
parameters:database_host,database_port,database_name,database_useredatabase_password. - Sostituisci solo quei valori con quelli del nuovo host (o la nuova password). Lascia
database_prefixinvariato a meno che tu non abbia davvero rinominato ogni prefisso tabella. - Salva e ricarica il file con gli stessi permessi di prima.
- Svuota la cache Symfony/PrestaShop (sezione successiva), poi apri il front office e il Back Office in una finestra privata.
I nomi host variano per provider: localhost, 127.0.0.1, un hostname remoto o a volte un percorso socket. Copia la stringa host dal pannello esattamente – non indovinare. Lascia database_port vuoto quando il pannello non specifica una porta non predefinita; impostala (spesso 3306) solo quando l’host te lo indica.
Esempio di struttura (solo segnaposto – non incollare mai segreti di esempio in produzione):
<?php
return array (
'parameters' =>
array (
'database_host' => '127.0.0.1',
'database_port' => '',
'database_name' => 'your_database_name',
'database_user' => 'your_database_user',
'database_password' => 'your_database_password',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
// … altre chiavi restano come sul tuo negozio - non inventare nuovi valori secret/cookie
),
);Modifica solo le chiavi database che ti sono state fornite. Toccare secret, cookie_key o cookie_iv disconnette tutti e può rompere le sessioni – è un percorso di recupero diverso. Una connessione database prestashop corretta in questo file è inutile finché non svuoti la cache (sotto).
Svuota /var/cache dopo il salvataggio
PrestaShop mette in cache la configurazione compilata. Dopo aver modificato la connessione database prestashop, rimuovi la cache sotto /var/cache/ – soprattutto le cartelle dev e prod (e altre cartelle ambiente simili). Elimina quelle cartelle o il loro contenuto – non l’intero negozio, e non directory non correlate accanto a var.
Back Office funziona, front office no? Dopo un cambio dei parametri DB, questa divisione è quasi sempre cache obsoleta – svuota var/cache prima di scavare in temi, moduli o URL del negozio.
Le cartelle dev e prod possono essere enormi (decine di migliaia di file piccoli). Preferisci il file manager del hosting o SSH per eliminarle o svuotarle. Il semplice FTP spesso procede file per file e può richiedere ore. Se hai solo FTP, rinomina prod / dev (ad esempio in prod_old / dev_old) così PrestaShop può ricreare subito cartelle vuote, poi elimina gli alberi rinominati più tardi quando hai tempo o uno strumento migliore.
- Dalla root del negozio, apri
var/cache/. - Elimina o rinomina
prodedev(e altre cartelle ambiente che vedi lì). - Se l’host esegue PHP-FPM con un utente diverso, ricrea cartelle
prod/devvuote se serve così il web server può scrivere di nuovo. - Ricarica il negozio. Il primo caricamento può essere più lento mentre la cache si ricostruisce.
Se Parametri avanzati → Prestazioni è raggiungibile, puoi anche svuotare la cache dal Back Office – ma dopo parametri di connessione errati spesso non riesci ad accedere, quindi la pulizia a livello file è il percorso affidabile.

Se la connessione database prestashop continua a fallire
Verifica questi punti prima di riscrivere l’intero file:
- Accesso negato. Utente o password errati, oppure l’utente MySQL non è autorizzato da questo host. Reimposta la password nel pannello e incollala con attenzione (niente spazi extra o virgolette intelligenti da un’app di chat).
- Database sconosciuto.
database_namenon corrisponde al nome reale dello schema dopo lo spostamento. - Impossibile connettersi al server.
database_hosto porta errati, firewall, oppure il servizio DB è spento. Conferma con phpMyAdmin o lo strumento MySQL dell’host usando le stesse credenziali. - Prefisso non corrispondente. Le tabelle esistono ma usano un prefisso diverso da
database_prefix– il negozio si connette poi appare vuoto o genera errori di tabelle mancanti. - Pagina bianca / WSOD. Un errore di sintassi in
parameters.php(virgoletta o virgola mancante) può mandare il negozio in schermata bianca. Ripristina la copia scaricata e modifica di nuovo. La nostra guida alla schermata bianca della morte copre la modalità debug quando il file è valido ma qualcos’altro fallisce.
Il centro assistenza PrestaShop descrive anche lo stesso schema di errore di connessione e le chiavi da verificare in parameters.php – utile quando la formulazione del pannello differisce dalla tua: Database connection error for your PrestaShop store.
PrestaShop 1.5 – 1.6 legacy – settings.inc.php
Se il negozio è ancora su 1.5 o 1.6, apri config/settings.inc.php e aggiorna:
_DB_SERVER_(host)_DB_NAME__DB_USER__DB_PASSWD_
Mantieni _DB_PREFIX_ a meno che tu non abbia rinominato le tabelle. Salva, ricarica, poi svuota le cartelle cache che quella vecchia versione usa (spesso sotto cache/). Vale lo stesso avviso: password errata mette il negozio offline – e parametri errati qui falliscono come sulle versioni più recenti.
Checklist rapida
- Backup di file e database.
- Modifica la connessione database prestashop in
app/config/parameters.php(1.7+) oconfig/settings.inc.php(1.5 – 1.6). - Imposta host, porta (se richiesta), nome, utente e password come nel pannello.
- Svuota
var/cache(preferisci file manager o SSH; rinomina su FTP se eliminare richiederebbe troppo tempo). - Testa front e Back Office; se il Back Office va ma il front no, svuota di nuovo la cache prima di cercare altre cause. Se entrambi falliscono, abbina l’errore ad accesso negato / database sconosciuto / host irraggiungibile prima di cambiare chiavi non correlate.
Quando la connessione database prestashop funziona di nuovo, completa la checklist di migrazione (dominio negozio, SSL, mail) sul nuovo host – le impostazioni di connessione da sole non aggiornano quelli.
