Pour Hébergement Linux et Serveur Dédié Managed

Vous souhaitez uniformiser votre configuration PHP pour tous les sous-répertoires sans devoir copier péniblement le fichier php.ini dans chaque dossier ? Dans cet article, nous vous présentons une méthode pratique qui vous fait gagner du temps et qui vous permet de contrôler tous les paramètres à partir d'un fichier central.

Le problème : les fichiers php.ini décentralisés

Celui qui souhaite effectuer des réglages PHP individuels pour son pack d'hébergement Web ou son serveur géré utilise en général un fichier php.ini pour cela. Par défaut, ce fichier n'agit toutefois que dans le répertoire dans lequel il se trouve. Si votre site Web a une structure de dossiers complexe (par exemple pour différents scripts, plug-ins ou galeries d'images), vous devriez copier manuellement le php.ini dans tous les sous-dossiers à chaque modification. C'est non seulement fastidieux, mais aussi source d'erreurs.

La solution : les liens symboliques (symlinks)

La solution efficace à ce problème sont les liens symboliques (également appelés symlinks). Au lieu de copier le php.ini, nous créons dans chaque sous-répertoire un lien intelligent qui pointe vers un seul fichier php.ini central.

Vos avantages :

  • Gestion centralisée : Vous ne devez plus effectuer de modifications que dans un seul fichier.
  • Gain de temps : Plus de copie manuelle à chaque adaptation.
  • Cohérence : Tous les sous-répertoires sont garantis d'utiliser les mêmes paramètres PHP.

Instructions pas à pas

Conditions préalables

  • Accès SSH : Vous devez disposer d'un accès SSH actif à votre espace Web.
  • Connaissances de base de la ligne de commande : Vous devez être familiarisé(e) avec des commandes simples comme cd.
  • Sauvegarde : Par mesure de sécurité, effectuez toujours une sauvegarde de vos données avant de procéder à des modifications profondes.
  • Se connecter au serveur : Connectez-vous à votre espace Web via SSH. Vous trouverez des instructions sur la manière d'établir une connexion SSH dans l'article du Centre d'Assistance : Établir une connexion SSH avec PuTTY (Windows).
  • Aller dans le répertoire principal : Naviguez avec la commande cd (change directory) dans le répertoire racine de votre site Web, dans lequel se trouve ou doit se trouver le fichier php.ini central.

    cd /chemin/vers/votre/site web

    Remplacez /chemin/vers/votre/site web par le chemin réel sur votre serveur.

  • Créer des liens symboliques : Exécutez maintenant la commande suivante. Elle recherche tous les sous-répertoires et y crée automatiquement un lien symmetrique vers php.ini dans votre répertoire actuel.

    find . -type d -exec ln -s "$PWD/php.ini" "{}/php.ini" \ ;

Avec cela, vous avez déjà terminé. Les modifications futures de votre configuration PHP n'ont plus qu'à être effectuées dans le fichier php.ini original situé dans le répertoire principal. Les modifications se répercutent immédiatement sur tous les sous-répertoires.

Remarque

Après avoir exécuté la commande, vous recevrez probablement un message du type : ln : le lien symbolique './php.ini' n'a pas pu être créé : Le fichier existe déjà.

Vous pouvez ignorer ce message en toute confiance. Il apparaît parce que la commande tente également de créer un lien dans le répertoire actuel, où se trouve déjà le php.ini original.

Pour annuler les modifications

Si vous souhaitez supprimer les liens symboliques créés, par exemple pour tester différentes configurations, vous pouvez également le faire en une seule commande.

Naviguez à nouveau dans votre répertoire principal et exécutez la commande suivante :

find . -type l -nom 'php.ini' -delete

Cette commande permet de rechercher de manière ciblée tous les liens symboliques portant le nom php.ini et de les supprimer en toute sécurité sans toucher au fichier d'origine.