{"id":1387,"date":"2022-06-19T19:53:15","date_gmt":"2022-06-19T17:53:15","guid":{"rendered":"https:\/\/jagullo.fr\/blog\/?p=1387"},"modified":"2022-09-23T08:06:17","modified_gmt":"2022-09-23T06:06:17","slug":"configuration-du-wp-config-php-de-wordpress","status":"publish","type":"post","link":"https:\/\/jagullo.fr\/blog\/configuration-du-wp-config-php-de-wordpress\/","title":{"rendered":"Configuration du wp-config.php de WordPress"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Pr\u00e9sentation du fichier wp-config.php<\/h2>\n\n\n\n<p>Comme tout CMS, WordPress <strong>poss\u00e8de un fichier de configuration<\/strong> permettant de modifier certaines fonctionnalit\u00e9s ou le comportement du syst\u00e8me. C&rsquo;est l&rsquo;un des fichiers les plus importants qui est automatiquement g\u00e9n\u00e9r\u00e9 lors de l&rsquo;installation de WordPress. C&rsquo;est un fichier r\u00e9serv\u00e9 au d\u00e9veloppeur web pour permettre l&rsquo;activation des fonctions de d\u00e9bogage, mais il peut servir \u00e0 configurer certaines constantes. Entre autres il stocke les param\u00e8tres de connexion \u00e0 la base de donn\u00e9es, le jeu de caract\u00e8res, le pr\u00e9fixe des tables, etc. Il est aussi possible de modifier le r\u00e9pertoire des m\u00e9dias, des plugins ou du th\u00e8me afin d&rsquo;augmenter la s\u00e9curit\u00e9 de l&rsquo;installation.<\/p>\n\n\n\n<p>Ce fichier de configuration se trouve \u00e0 la racine du serveur dans le r\u00e9pertoire o\u00f9 est install\u00e9 WordPress. On peut le modifier en se connectant via FTP sur le serveur avec Filezilla par exemple, puis <strong>t\u00e9l\u00e9charger le fichier wp-config.php<\/strong> en local sur son ordinateur. Un \u00e9diteur de texte est n\u00e9cessaire pour \u00e9viter de changer le jeu de caract\u00e8res du fichier qui est en UTF-8. On peut utiliser par exemple Notepad++, Atom, PHPStorm, VSCode, etc.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2022\/06\/illustration_wp-config.jpg\" alt=\"\" class=\"wp-image-1407\" width=\"720\" height=\"480\" srcset=\"https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2022\/06\/illustration_wp-config.jpg 960w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2022\/06\/illustration_wp-config-300x200.jpg 300w, https:\/\/jagullo.fr\/blog\/wp-content\/uploads\/2022\/06\/illustration_wp-config-768x512.jpg 768w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><figcaption>Modifier le comportement de WordPress avec le fichier wp-config.php<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9dition du fichier wp-config.php<\/h2>\n\n\n\n<p>Juste \u00e0 c\u00f4t\u00e9 du fichier <strong>wp-config.php<\/strong> se trouve le fichier <strong>wp-config-sample.php<\/strong> qui est la version de base sans les valeurs des constantes. Se r\u00e9f\u00e9rer \u00e0 ce fichier pour remettre par d\u00e9faut la configuration globale du syst\u00e8me. Apr\u00e8s avoir r\u00e9cup\u00e9r\u00e9 le fichier <strong>wp-config.php<\/strong> du serveur et l&rsquo;avoir ouvert avec un \u00e9diteur, il suffit d&rsquo;ajouter son code en fin de fichier au niveau de la partie d\u00e9veloppeur. <\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>\/**\n * Pour les d\u00e9veloppeurs : le mode d\u00e9boguage de WordPress.\n *\n * En passant la valeur suivante \u00e0 \"true\", vous activez l\u2019affichage des\n * notifications d\u2019erreurs pendant vos essais.\n * Il est fortement recommand\u00e9 que les d\u00e9veloppeurs d\u2019extensions et\n * de th\u00e8mes se servent de WP_DEBUG dans leur environnement de\n * d\u00e9veloppement.\n *\n * Pour plus d\u2019information sur les autres constantes qui peuvent \u00eatre utilis\u00e9es\n * pour le d\u00e9boguage, rendez-vous sur le Codex.\n *\n * @link https:\/\/fr.wordpress.org\/support\/article\/debugging-in-wordpress\/\n *\/\ndefine('WP_DEBUG', false);<\/code><\/pre>\n\n\n\n<p>La constante <strong>WP_DEBUG<\/strong> qu&rsquo;il y a par d\u00e9faut permet d&rsquo;activer l&rsquo;affichage des erreurs. \u00c0 \u00e9viter sur un site en production pour ne pas que les alertes apparaissent. \u00c0 partir de l\u00e0 on peut ajouter des constantes modifiant le comportement du syst\u00e8me. Ci-dessous une liste des principales constantes de WordPress avec leur description.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Activer les erreurs dans le fichier log<\/h2>\n\n\n\n<p>Pour r\u00e9aliser <strong>du d\u00e9bogage sur un site en production<\/strong>, il peut \u00eatre n\u00e9cessaire d&rsquo;activer le <strong>WP_DEBUG<\/strong>, mais d&rsquo;enregistrer les erreurs au lieu de les afficher. Cela va ralentir le syst\u00e8me, mais permet au d\u00e9veloppeur web de corriger certaines fonctions. Pour cela il est n\u00e9cessaire d&rsquo;utiliser 2 constantes. La premi\u00e8re <strong>WP_DEBUG_DISPLAY<\/strong> qui va cacher les erreurs \u00e0 l&rsquo;affichage et <strong>WP_DEBUG_LOG<\/strong> va activer l&rsquo;enregistrement dans le log. Le fichier debug.log se trouve dans le r\u00e9pertoire <strong>wp-content<\/strong> sur le serveur.<\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>define('WP_DEBUG', true);\ndefine('WP_DEBUG_LOG', true);\ndefine('WP_DEBUG_DISPLAY', false);<\/code><\/pre>\n\n\n\n<p>La constante <strong>WP_DEBUG<\/strong> doit obligatoirement \u00eatre activ\u00e9e pour enregistrer les erreurs dans le fichier log. Il suffit simplement de remettre <strong>WP_DEBUG<\/strong> \u00e0 false pour arr\u00eater l&rsquo;enregistrement lors de la fin du d\u00e9veloppement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">D\u00e9sactiver l&rsquo;\u00e9diteur de fichier de WordPress<\/h2>\n\n\n\n<p>WordPress poss\u00e8de <strong>un \u00e9diteur de fichier<\/strong> qui se trouve dans <strong>Apparences &gt; \u00c9diteurs de fichiers<\/strong> afin de modifier les fichiers sources du th\u00e8me. Si un utilisateur malveillant acc\u00e8de \u00e0 cet \u00e9diteur, il peut commettre de grands dommages sur le site. Pour le d\u00e9sactiver, il suffit d&rsquo;ajouter la constante <strong>DISALLOW_FILE_EDIT<\/strong> \u00e0 la suite de <strong>WP_DEBUG<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>define('DISALLOW_FILE_EDIT', true);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Augmenter la taille m\u00e9moire des scripts PHP<\/h2>\n\n\n\n<p>Selon l&rsquo;h\u00e9bergeur <strong>la m\u00e9moire allou\u00e9e \u00e0 une application PHP<\/strong> varie entre 64 et 512Mo. WordPress par d\u00e9faut attribue 64Mo donc si on override pas cette valeur le syst\u00e8me peut tourner d&rsquo;une fa\u00e7on brid\u00e9e. La plupart des professionnels et h\u00e9bergeurs recommandent d&rsquo;utiliser 256Mo pour pousser les d\u00e9veloppeurs \u00e0 optimiser la m\u00e9moire d&rsquo;une application PHP.<\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>define('WP_MEMORY_LIMIT', '256M');<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9duire le nombre de r\u00e9vision des articles<\/h2>\n\n\n\n<p>\u00c0 chaque \u00e9dition d&rsquo;une page, d&rsquo;un article ou d&rsquo;un produit WooCommerce, WordPress va dupliquer le contenu afin de <strong>cr\u00e9er une r\u00e9vision<\/strong>. Cela permet de revenir en arri\u00e8re si besoin mais prend au final beaucoup de place en base de donn\u00e9es. R\u00e9duire le nombre de r\u00e9vision entre 3 et 5 est un bon compromis pour all\u00e9ger le site sur le long terme.<\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>define('WP_POST_REVISIONS', 3);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">D\u00e9placer les r\u00e9pertoires de base de WordPress<\/h2>\n\n\n\n<p>Il est possible <strong>pour am\u00e9liorer la s\u00e9curit\u00e9 de WordPress<\/strong> de modifier le chemin des r\u00e9pertoires du th\u00e8me, des plugins et des uploads. Pour cela il y a plusieurs constantes et il faut indiquer \u00e0 chacune d&rsquo;elles le nouveau chemin sur le serveur ainsi que l&rsquo;url. <\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>\/\/ D\u00e9placer le r\u00e9pertoire global wp-content\ndefine( 'WP_CONTENT_DIR', $_SERVER&#91;'DOCUMENT_ROOT'] . '\/blog\/wp-content' );\ndefine( 'WP_CONTENT_URL', 'http:\/\/example\/blog\/wp-content');\n\n\/\/ D\u00e9placer le r\u00e9pertoire des plugins\ndefine( 'WP_PLUGIN_DIR', $_SERVER&#91;'DOCUMENT_ROOT'] . '\/blog\/wp-content\/plugins' );\ndefine( 'WP_PLUGIN_URL', 'http:\/\/example\/blog\/wp-content\/plugins');\n\n\/\/ D\u00e9placer le r\u00e9pertoire des uploads\ndefine( 'UPLOADS', '\/blog\/wp-content\/uploads' );<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">D\u00e9sactiver les mises \u00e0 jour automatiques<\/h2>\n\n\n\n<p>Ci-dessous un r\u00e9capitulatif <strong>des principales constantes<\/strong> du fichier <strong>wp-config.php<\/strong> pour modifier le comportement par d\u00e9faut du syst\u00e8me. Avec la constante <strong>WP_AUTO_UPDATE_CORE<\/strong> il est aussi possible de d\u00e9sactiver les mises \u00e0 jour automatiques de WordPress, du th\u00e8me et des plugins.<\/p>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>define('WP_AUTO_UPDATE_CORE', false);\ndefine('WP_DEBUG', false);\ndefine('WP_DEBUG_LOG', false);\ndefine('WP_DEBUG_DISPLAY', false);\ndefine('WP_POST_REVISIONS', 3);\ndefine('WP_ALLOW_MULTISITE', false);\ndefine('DISALLOW_FILE_EDIT', true);\ndefine('WP_MEMORY_LIMIT', '256M');<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>Pour plus d&rsquo;informations, il y a la<a href=\"https:\/\/codex.wordpress.org\/fr:Modifier_wp-config.php\" target=\"_blank\" rel=\"noreferrer noopener\"> documentation de WordPress<\/a> qui pr\u00e9sente toutes les constantes du fichier <strong>wp-config.php<\/strong> avec leur explication. Les d\u00e9veloppeurs web doivent manipuler ce fichier avec pr\u00e9caution pour \u00e9viter des erreurs fatales sur un site en production. <\/p>\n\n\n\n<link rel=\"stylesheet\" href=\"\/blog\/wp-content\/themes\/Extra-child\/assets\/css\/prism.css\">\n<script src=\"\/blog\/wp-content\/themes\/Extra-child\/assets\/js\/prism.js\"><\/script>\n<div class=\"list-tags\"><a href=\"https:\/\/jagullo.fr\/blog\/tag\/php\/\" class=\"link-tag\" title=\"PHP\">PHP<\/a><a href=\"https:\/\/jagullo.fr\/blog\/tag\/wordpress\/\" class=\"link-tag\" title=\"WordPress\">WordPress<\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Pr\u00e9sentation du fichier wp-config.php Comme tout CMS, WordPress poss\u00e8de un fichier de configuration permettant de modifier certaines fonctionnalit\u00e9s ou le comportement du syst\u00e8me. C&rsquo;est l&rsquo;un des fichiers les plus importants qui est automatiquement g\u00e9n\u00e9r\u00e9 lors de l&rsquo;installation de WordPress. C&rsquo;est un fichier r\u00e9serv\u00e9 au d\u00e9veloppeur web pour permettre l&rsquo;activation des fonctions de d\u00e9bogage, mais il [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1407,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[8],"tags":[27,31],"class_list":["post-1387","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developpement","tag-php","tag-wordpress","et-has-post-format-content","et_post_format-et-post-format-standard"],"_links":{"self":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts\/1387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/comments?post=1387"}],"version-history":[{"count":3,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts\/1387\/revisions"}],"predecessor-version":[{"id":1540,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/posts\/1387\/revisions\/1540"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/media\/1407"}],"wp:attachment":[{"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/media?parent=1387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/categories?post=1387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jagullo.fr\/blog\/wp-json\/wp\/v2\/tags?post=1387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}