Comment corriger l’erreur de restriction open_basedir

Lorsque tu crées un site de staging avec le plugin gratuit WP STAGING, PHP peut interrompre le processus avec une erreur de restriction open_basedir. Ce message signifie que PHP est configuré pour lire et écrire uniquement dans une liste fixe de répertoires, et que le dossier où WP STAGING veut construire la copie de staging ne figure pas dans cette liste. La solution consiste à ajouter ton répertoire WordPress à la ligne open_basedir de ton fichier php.ini (ou aux réglages PHP de ton hébergeur), puis à redémarrer PHP. Ce guide te montre comment trouver le fichier que PHP charge réellement, comment le modifier en toute sécurité et ce qu’il faut vérifier si l’erreur persiste.

Remarque : si tu essaies de créer un site de staging avec WP Staging Pro et que tu obtiens cette erreur lors de la création d’un site de staging par défaut, tu peux utiliser le paramètre avancé pour créer le site de staging dans un sous-dossier de « wp-content ». Tu peux alors arrêter la lecture ici.

À quoi ressemble l’erreur de restriction open_basedir

open_basedir est un réglage de sécurité PHP qui limite l’accès aux fichiers à une liste approuvée de répertoires. Lorsqu’un script, y compris WP STAGING, tente d’accéder à un chemin situé en dehors de cette liste, PHP le refuse et enregistre un avertissement. Dans le journal de ton serveur ou dans le journal de débogage de WordPress, il ressemble généralement à ceci :

Warning: open_basedir restriction in effect.
File(/var/www/html/staging) is not within the allowed path(s):
(/var/www/html/) in /var/www/html/... on line ...

Tu peux aussi arriver sur cette page à partir d’un message de WP STAGING indiquant qu’il n’a pas pu inclure un fichier bootstrap et citant open_basedir comme cause possible. Les deux pointent vers le même problème de fond : le répertoire dont WP STAGING a besoin se trouve en dehors des chemins autorisés. Le chemin de fichier exact affiché dans ton message t’indique quel répertoire doit être ajouté à la liste autorisée.

Pourquoi open_basedir bloque WP STAGING

La directive open_basedir est définie dans le fichier php.ini et restreint l’accès de PHP aux fichiers des répertoires que tu indiques. Par défaut, WP STAGING crée le site de staging dans un sous-répertoire de ta racine WordPress. Si cette racine, ou le sous-répertoire dans lequel il veut écrire, n’est pas couverte par open_basedir, PHP bloque l’écriture et le site de staging ne peut pas être créé. Ajouter le répertoire WordPress à la liste autorisée supprime ce blocage sans désactiver le réglage de sécurité.

Comment corriger l’erreur de restriction open_basedir

Pour résoudre l’erreur de restriction open_basedir et créer avec succès un site de staging avec WP STAGING, suis ces étapes dans l’ordre.

Étape 1 : trouver le fichier php.ini que PHP charge réellement

Le fichier php.ini est le fichier de configuration de PHP, et son emplacement varie selon l’environnement d’hébergement. Un serveur peut avoir plusieurs fichiers php.ini, donc modifier le mauvais est la raison la plus courante pour laquelle une correction semble sans effet. Pour trouver le fichier réellement pris en compte, crée un petit fichier nommé phpinfo.php dans ta racine WordPress avec ce contenu, ouvre-le dans ton navigateur et lis la valeur de Loaded Configuration File :

<?php phpinfo(); ?>

Si tu as un accès shell, php --ini affiche le même chemin depuis la ligne de commande. Supprime le fichier phpinfo.php une fois que tu as le chemin, car il expose des détails sur le serveur. Si tu ne parviens pas du tout à trouver ou à modifier php.ini, passe à la section ci-dessous sur les hébergements sans accès direct à php.ini.

Étape 2 : modifier la directive open_basedir

Une fois que tu as localisé le fichier php.ini, tu dois le modifier pour inclure le répertoire où tu veux créer ton site de staging. Ouvre le fichier php.ini dans un éditeur de texte et trouve la ligne qui commence par open_basedir. Tu voudras ajouter le chemin complet vers ton répertoire racine WordPress (et ses sous-répertoires) à la liste existante. Sépare les chemins multiples avec un deux-points : sous Linux ou un point-virgule ; sous Windows.

Par exemple, si WordPress est installé dans /var/www/html/wordpress, et que la ligne de configuration open_basedir dans php.ini indique actuellement :

ShellScript
open_basedir = "/var/www/html/"

Tu dois la modifier pour inclure le répertoire WordPress :

ShellScript
open_basedir = "/var/www/html/:/var/www/html/wordpress/"

Conserve les chemins qui étaient déjà présents. Supprimer un chemin existant pour faire de la place peut casser d’autres parties de ton site qui en dépendent.

Étape 3 : redémarrer ton serveur web ou PHP-FPM

Après avoir enregistré les modifications dans ton fichier php.ini, tu dois redémarrer PHP pour que les changements prennent effet. Si ton site exécute PHP via le module intégré d’Apache, redémarrer Apache suffit. S’il fonctionne avec PHP-FPM (courant sur Nginx et de nombreux hébergements infogérés), tu dois aussi redémarrer le service PHP-FPM, et pas seulement le serveur web, sinon l’ancienne configuration reste en mémoire. Utilise ton panneau de contrôle d’hébergement ou la documentation de ton hébergeur pour connaître la commande exacte de redémarrage.

Étape 4 : réessayer la création du site de staging

Une fois PHP redémarré, tente à nouveau de créer ton site de staging avec WP STAGING. L’erreur de restriction open_basedir devrait maintenant être résolue, permettant au processus de création de se dérouler sans problème. Pour confirmer que le nouveau réglage est actif, recharge la page phpinfo() de l’étape 1 et vérifie que la valeur open_basedir inclut désormais ton répertoire WordPress.

Lorsque tu ne peux pas modifier php.ini directement

Sur les hébergements mutualisés et infogérés, tu n’as souvent pas d’accès direct à php.ini. Dans ce cas, cherche un panneau de réglages PHP dans ton panneau de contrôle d’hébergement (par exemple, un écran « MultiPHP INI Editor » ou « Select PHP Version » dans cPanel) et définis-y open_basedir, ou demande à ton hébergeur d’ajouter ton chemin WordPress à la liste autorisée. Si tu préfères ne pas toucher du tout aux réglages du serveur, WP STAGING peut construire le site de staging dans un dossier déjà accessible en écriture, comme l’explique la remarque en haut de cet article.

Si l’erreur open_basedir persiste

Si l’erreur persiste après avoir modifié php.ini et redémarré PHP, passe en revue ces causes courantes :

  • Tu as modifié un php.ini que PHP ne charge pas. Revérifie Loaded Configuration File à l’étape 1 et modifie exactement ce fichier.
  • Tu as redémarré le serveur web mais pas PHP-FPM. Redémarre aussi le service PHP-FPM.
  • Le séparateur de chemin est incorrect. Utilise un deux-points sous Linux et un point-virgule sous Windows, et ne laisse pas de séparateur en fin de ligne avec une entrée vide.
  • Ton hébergeur applique open_basedir de façon centralisée et ignore tes modifications. Contacte le support et demande-lui d’ajouter le chemin.
  • Comme raccourci, utilise le paramètre avancé de WP STAGING pour créer le site de staging dans un sous-dossier de wp-content, qui est déjà accessible en écriture.

Conclusion

La restriction open_basedir est une fonctionnalité de sécurité qui, bien qu’importante, peut parfois interférer avec des opérations légitimes comme la création d’un environnement de staging pour ton site WordPress. En modifiant le fichier php.ini que PHP charge réellement, en ajoutant ton répertoire WordPress à la liste autorisée et en redémarrant PHP, tu peux éliminer l’erreur sans affaiblir la sécurité de ton serveur. Sauvegarde toujours ton fichier php.ini avant d’apporter des modifications, et consulte ton hébergeur si tu n’es pas sûr de le modifier toi-même.

Articles connexes

Updated on juillet 28, 2026

Rene Hermenau

Auteur : Rene Hermenau

À propos de l'auteur : René Hermenau est le fondateur de WP STAGING. Il travaille sur les sauvegardes WordPress, les environnements de staging, les migrations, la gestion des bases de données et les workflows de déploiement sécurisés.