{"id":907,"date":"2022-01-19T15:26:24","date_gmt":"2022-01-19T12:26:24","guid":{"rendered":"https:\/\/presta.site\/blog\/?p=907"},"modified":"2026-07-25T22:05:33","modified_gmt":"2026-07-25T19:05:33","slug":"comment-modifier-les-parametres-de-connexion-a-la-base-de-donnees-dans-prestashop","status":"publish","type":"post","link":"https:\/\/presta.site\/blog\/fr\/comment-modifier-les-parametres-de-connexion-a-la-base-de-donnees-dans-prestashop\/","title":{"rendered":"Connexion base de donn\u00e9es PrestaShop : modifier en toute s\u00e9curit\u00e9"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Apr\u00e8s une migration d&#8217;h\u00e9bergeur ou un changement d&#8217;identifiants, PrestaShop lit toujours ses param\u00e8tres MySQL depuis un fichier de configuration &#8211; pas depuis le Back Office. Si l&#8217;h\u00f4te, le nom de la base, l&#8217;utilisateur ou le mot de passe ne correspondent plus au serveur, la boutique et l&#8217;administration cessent de charger. Ce guide explique comment modifier en toute s\u00e9curit\u00e9 la <strong>connexion base de donn\u00e9es PrestaShop<\/strong>, vider le cache qui peut conserver d&#8217;anciennes valeurs, et v\u00e9rifier les messages d&#8217;erreur habituels.<\/p>\n\n\n<!--more-->\n\n\n<p class=\"wp-block-paragraph\">\u00c0 partir de PrestaShop 1.7 (y compris les versions 8 et 9), les param\u00e8tres de connexion base de donn\u00e9es PrestaShop se trouvent dans <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code>. Les boutiques 1.5 &#8211; 1.6 utilisent <code class=\"codecolorer text default\"><span class=\"text\">config\/settings.inc.php<\/span><\/code>. La documentation officielle sur ce fichier figure dans la <a href=\"https:\/\/devdocs.prestashop-project.org\/9\/development\/configuration\/configuring-prestashop\/\" target=\"_blank\" rel=\"noopener noreferrer external\" data-wpel-link=\"external\">documentation d\u00e9veloppeur PrestaShop 9 (parameters.php)<\/a>. Des valeurs incorrectes mettent la boutique hors ligne &#8211; effectuer une <a href=\"https:\/\/presta.site\/blog\/fr\/comment-creer-une-sauvegarde-dans-prestashop\/\" data-wpel-link=\"internal\">sauvegarde compl\u00e8te de PrestaShop<\/a> avant toute modification.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quand modifier la connexion base de donn\u00e9es PrestaShop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Modifier ces param\u00e8tres est g\u00e9n\u00e9ralement n\u00e9cessaire lorsque :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la boutique a \u00e9t\u00e9 migr\u00e9e vers un nouvel h\u00e9bergeur ou un VPS et le fournisseur a fourni un nouvel h\u00f4te, un nouveau nom de base, un utilisateur ou un mot de passe ;<\/li>\n<li>la base a \u00e9t\u00e9 renomm\u00e9e ou le mot de passe MySQL a \u00e9t\u00e9 chang\u00e9 dans le panneau ;<\/li>\n<li>des fichiers ont \u00e9t\u00e9 restaur\u00e9s sur un serveur disposant d\u00e9j\u00e0 d&#8217;une base diff\u00e9rente ;<\/li>\n<li>le front ou le Back Office affiche une erreur de connexion base de donn\u00e9es PrestaShop ou d&#8217;acc\u00e8s refus\u00e9 apr\u00e8s une migration.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ne <em>pas<\/em> modifier ce fichier pour renommer des produits, changer l&#8217;e-mail de la boutique ou corriger des URL SEO. Ces actions passent par d&#8217;autres \u00e9crans. Si la boutique est d\u00e9j\u00e0 en ligne et qu&#8217;une sauvegarde plus s\u00fbre suffit avant une migration, commencer par le guide de sauvegarde li\u00e9 ci-dessus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PrestaShop 1.7, 8 et 9 &#8211; modifier parameters.php<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour modifier la connexion BDD PrestaShop sur une boutique r\u00e9cente, utiliser SFTP, SSH ou le gestionnaire de fichiers de l&#8217;h\u00e9bergeur. Travailler sur une copie si possible, puis remplacer le fichier en production en une seule \u00e9tape.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ouvrir la racine de la boutique et acc\u00e9der \u00e0 <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code>.<\/li>\n<li>T\u00e9l\u00e9charger une copie sur l&#8217;ordinateur local (filet de s\u00e9curit\u00e9 en cas de retour arri\u00e8re).<\/li>\n<li>Rep\u00e9rer les cl\u00e9s du tableau <code class=\"codecolorer text default\"><span class=\"text\">parameters<\/span><\/code> : <code class=\"codecolorer text default\"><span class=\"text\">database_host<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">database_port<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">database_name<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">database_user<\/span><\/code> et <code class=\"codecolorer text default\"><span class=\"text\">database_password<\/span><\/code>.<\/li>\n<li>Remplacer uniquement ces valeurs par celles fournies par le nouvel h\u00e9bergeur (ou le nouveau mot de passe). Ne pas toucher \u00e0 <code class=\"codecolorer text default\"><span class=\"text\">database_prefix<\/span><\/code> sauf si chaque pr\u00e9fixe de table a r\u00e9ellement \u00e9t\u00e9 renomm\u00e9.<\/li>\n<li>Enregistrer et renvoyer le fichier avec les m\u00eames permissions qu&#8217;auparavant.<\/li>\n<li>Vider le cache Symfony\/PrestaShop (section suivante), puis ouvrir la boutique et le Back Office dans une fen\u00eatre priv\u00e9e.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Les noms d&#8217;h\u00f4te varient selon le fournisseur : <code class=\"codecolorer text default\"><span class=\"text\">localhost<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">127.0.0.1<\/span><\/code>, un nom d&#8217;h\u00f4te distant, ou parfois un chemin de socket. Copier la cha\u00eene d&#8217;h\u00f4te depuis le panneau exactement &#8211; ne pas deviner. Laisser <code class=\"codecolorer text default\"><span class=\"text\">database_port<\/span><\/code> vide lorsque le panneau ne pr\u00e9cise pas de port non standard ; le renseigner (souvent <code class=\"codecolorer text default\"><span class=\"text\">3306<\/span><\/code>) uniquement si l&#8217;h\u00e9bergeur l&#8217;indique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple de structure (placeholders uniquement &#8211; ne jamais coller d&#8217;exemples de secrets en production) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nreturn array (\n  'parameters' =&gt;\n  array (\n    'database_host' =&gt; '127.0.0.1',\n    'database_port' =&gt; '',\n    'database_name' =&gt; 'your_database_name',\n    'database_user' =&gt; 'your_database_user',\n    'database_password' =&gt; 'your_database_password',\n    'database_prefix' =&gt; 'ps_',\n    'database_engine' =&gt; 'InnoDB',\n    \/\/ \u2026 les autres cl\u00e9s restent inchang\u00e9es - ne pas inventer de nouvelles valeurs secret\/cookie\n  ),\n);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ne modifier que les cl\u00e9s de base de donn\u00e9es fournies. Toucher \u00e0 <code class=\"codecolorer text default\"><span class=\"text\">secret<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">cookie_key<\/span><\/code> ou <code class=\"codecolorer text default\"><span class=\"text\">cookie_iv<\/span><\/code> d\u00e9connecte tous les utilisateurs et peut casser les sessions &#8211; c&#8217;est un autre parcours de r\u00e9cup\u00e9ration. Une connexion base de donn\u00e9es PrestaShop correcte dans ce fichier ne suffit pas tant que le cache n&#8217;est pas vid\u00e9 (voir ci-dessous).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vider \/var\/cache apr\u00e8s l&#8217;enregistrement<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PrestaShop met en cache la configuration compil\u00e9e. Apr\u00e8s modification de la connexion base de donn\u00e9es PrestaShop, supprimer le cache sous <code class=\"codecolorer text default\"><span class=\"text\">\/var\/cache\/<\/span><\/code> &#8211; principalement les dossiers <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> et <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> (et tout autre dossier d&#8217;environnement similaire). Supprimer ces dossiers ou leur contenu &#8211; pas l&#8217;ensemble de la boutique, ni des r\u00e9pertoires sans rapport \u00e0 c\u00f4t\u00e9 de <code class=\"codecolorer text default\"><span class=\"text\">var<\/span><\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Le Back Office fonctionne, mais pas la boutique ?<\/strong> Apr\u00e8s un changement de connexion BDD PrestaShop, cette dissociation provient presque toujours d&#8217;un cache obsol\u00e8te &#8211; vider <code class=\"codecolorer text default\"><span class=\"text\">var\/cache<\/span><\/code> en premier lieu avant d&#8217;examiner les th\u00e8mes, les modules ou les URL de la boutique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les dossiers <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> et <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> peuvent \u00eatre volumineux (des dizaines de milliers de petits fichiers). Privil\u00e9gier le <strong>gestionnaire de fichiers<\/strong> de l&#8217;h\u00e9bergeur ou <strong>SSH<\/strong> pour les supprimer ou les vider. Un FTP classique parcourt souvent fichier par fichier et peut prendre des heures. Si le FTP est la seule option, <strong>renommer<\/strong> <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> \/ <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> (par exemple en <code class=\"codecolorer text default\"><span class=\"text\">prod_old<\/span><\/code> \/ <code class=\"codecolorer text default\"><span class=\"text\">dev_old<\/span><\/code>) pour que PrestaShop recr\u00e9e imm\u00e9diatement des dossiers vides, puis supprimer les arbres renomm\u00e9s plus tard lorsque le temps ou un meilleur outil le permet.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Depuis la racine de la boutique, ouvrir <code class=\"codecolorer text default\"><span class=\"text\">var\/cache\/<\/span><\/code>.<\/li>\n<li>Supprimer ou renommer <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> et <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> (et tout autre dossier d&#8217;environnement visible).<\/li>\n<li>Si l&#8217;h\u00e9bergeur ex\u00e9cute PHP-FPM sous un autre utilisateur, recr\u00e9er des dossiers <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> \/ <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> vides si n\u00e9cessaire pour que le serveur web puisse \u00e0 nouveau \u00e9crire.<\/li>\n<li>Recharger la boutique. Le premier chargement peut \u00eatre plus lent pendant la reconstruction du cache.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si Param\u00e8tres avanc\u00e9s \u2192 Performances est accessible, vider le cache depuis le Back Office est \u00e9galement possible &#8211; mais apr\u00e8s une mauvaise connexion base de donn\u00e9es PrestaShop, la connexion est souvent impossible, d&#8217;o\u00f9 l&#8217;int\u00e9r\u00eat du nettoyage au niveau des fichiers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1703\" height=\"626\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache.png\" alt=\"Vider le cache dans Param\u00e8tres avanc\u00e9s Performances apr\u00e8s modification de la connexion base de donn\u00e9es PrestaShop\" class=\"wp-image-1994\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache.png 1703w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-300x110.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-1024x376.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-768x282.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-1536x565.png 1536w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-1200x441.png 1200w\" sizes=\"auto, (max-width: 1703px) 100vw, 1703px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Si la connexion base de donn\u00e9es PrestaShop \u00e9choue encore<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Parcourir ces v\u00e9rifications avant de r\u00e9\u00e9crire l&#8217;ensemble du fichier :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Acc\u00e8s refus\u00e9.<\/strong> Utilisateur ou mot de passe incorrect, ou l&#8217;utilisateur MySQL n&#8217;est pas autoris\u00e9 depuis cet h\u00f4te. R\u00e9initialiser le mot de passe dans le panneau et le coller avec soin (pas d&#8217;espace superflu ni de guillemets typographiques issus d&#8217;une messagerie).<\/li>\n<li><strong>Base inconnue.<\/strong> <code class=\"codecolorer text default\"><span class=\"text\">database_name<\/span><\/code> ne correspond pas au nom r\u00e9el du sch\u00e9ma apr\u00e8s la migration.<\/li>\n<li><strong>Impossible de se connecter au serveur.<\/strong> <code class=\"codecolorer text default\"><span class=\"text\">database_host<\/span><\/code> ou port incorrect, pare-feu, ou service de base de donn\u00e9es arr\u00eat\u00e9. V\u00e9rifier avec phpMyAdmin ou l&#8217;outil MySQL de l&#8217;h\u00e9bergeur en utilisant les m\u00eames identifiants.<\/li>\n<li><strong>Pr\u00e9fixe incompatible.<\/strong> Les tables existent mais utilisent un autre pr\u00e9fixe que <code class=\"codecolorer text default\"><span class=\"text\">database_prefix<\/span><\/code> &#8211; la boutique se connecte puis appara\u00eet vide ou g\u00e9n\u00e8re des erreurs de tables manquantes.<\/li>\n<li><strong>Page blanche \/ WSOD.<\/strong> Une erreur de syntaxe dans <code class=\"codecolorer text default\"><span class=\"text\">parameters.php<\/span><\/code> (guillemet ou virgule manquant) peut provoquer un \u00e9cran blanc. Restaurer la copie t\u00e9l\u00e9charg\u00e9e et r\u00e9\u00e9diter. Le <a href=\"https:\/\/presta.site\/blog\/fr\/ecran-blanc-de-la-mort-dans-prestashop-un-guide-etape-par-etape\/\" data-wpel-link=\"internal\">guide \u00e9cran blanc de la mort<\/a> couvre le mode debug lorsque le fichier est valide mais qu&#8217;un autre \u00e9l\u00e9ment \u00e9choue.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le centre d&#8217;aide PrestaShop d\u00e9crit \u00e9galement ce sch\u00e9ma d&#8217;erreur de connexion et les cl\u00e9s \u00e0 v\u00e9rifier dans <code class=\"codecolorer text default\"><span class=\"text\">parameters.php<\/span><\/code> &#8211; utile lorsque la formulation du panneau diff\u00e8re : <a href=\"https:\/\/help-center.prestashop.com\/hc\/en-us\/articles\/11332064842258--Database-connection-error-for-your-PrestaShop-store\" target=\"_blank\" rel=\"noopener noreferrer external\" data-wpel-link=\"external\">Database connection error for your PrestaShop store<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Anciennes versions PrestaShop 1.5 &#8211; 1.6 &#8211; settings.inc.php<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si la boutique tourne encore en 1.5 ou 1.6, ouvrir <code class=\"codecolorer text default\"><span class=\"text\">config\/settings.inc.php<\/span><\/code> \u00e0 la place et mettre \u00e0 jour :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_SERVER_<\/span><\/code> (h\u00f4te)<\/li>\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_NAME_<\/span><\/code><\/li>\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_USER_<\/span><\/code><\/li>\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_PASSWD_<\/span><\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Conserver <code class=\"codecolorer text default\"><span class=\"text\">_DB_PREFIX_<\/span><\/code> sauf si les tables ont \u00e9t\u00e9 renomm\u00e9es. Enregistrer, envoyer, puis vider les dossiers de cache utilis\u00e9s par cette ancienne version (souvent sous <code class=\"codecolorer text default\"><span class=\"text\">cache\/<\/span><\/code>). Le m\u00eame avertissement s&#8217;applique : un mauvais mot de passe met la boutique hors ligne &#8211; et une connexion base de donn\u00e9es PrestaShop incorrecte \u00e9chouera de la m\u00eame mani\u00e8re que sur les versions r\u00e9centes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Liste de contr\u00f4le rapide<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sauvegarder les fichiers et la base de donn\u00e9es.<\/li>\n<li>Modifier la connexion base de donn\u00e9es PrestaShop dans <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code> (1.7+) ou <code class=\"codecolorer text default\"><span class=\"text\">config\/settings.inc.php<\/span><\/code> (1.5 &#8211; 1.6).<\/li>\n<li>Renseigner h\u00f4te, port (si requis), nom, utilisateur et mot de passe conform\u00e9ment au panneau.<\/li>\n<li>Vider <code class=\"codecolorer text default\"><span class=\"text\">var\/cache<\/span><\/code> (privil\u00e9gier le gestionnaire de fichiers ou SSH ; renommer en FTP si la suppression prendrait trop de temps).<\/li>\n<li>Tester la boutique et le Back Office ; si le Back Office fonctionne mais pas le front, vider \u00e0 nouveau le cache avant d&#8217;examiner d&#8217;autres causes. Si les deux \u00e9chouent, faire correspondre l&#8217;erreur \u00e0 acc\u00e8s refus\u00e9 \/ base inconnue \/ h\u00f4te inaccessible avant de modifier d&#8217;autres cl\u00e9s.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois la connexion base de donn\u00e9es PrestaShop r\u00e9tablie, finaliser la liste de migration (domaine de la boutique, SSL, e-mail) sur le nouvel h\u00e9bergeur &#8211; les param\u00e8tres de connexion seuls ne mettent pas ces \u00e9l\u00e9ments \u00e0 jour.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Modifier la connexion base de donn\u00e9es PrestaShop dans parameters.php (1.7\/8\/9) ou settings.inc.php (1.5-1.6), vider var\/cache en toute s\u00e9curit\u00e9 et corriger les erreurs d&#8217;acc\u00e8s refus\u00e9.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[87],"tags":[],"class_list":["post-907","post","type-post","status-publish","format-standard","hentry","category-developpement"],"_links":{"self":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/comments?post=907"}],"version-history":[{"count":3,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/907\/revisions"}],"predecessor-version":[{"id":2004,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/907\/revisions\/2004"}],"wp:attachment":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media?parent=907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/categories?post=907"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/tags?post=907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}