Position actuelle: Accueil> Derniers articles> Comment déboguer get_include_path () en php et trouver le chemin pour inclure le fichier

Comment déboguer get_include_path () en php et trouver le chemin pour inclure le fichier

gitbox 2025-05-26

include_path est une option importante dans la configuration de PHP pour spécifier la liste de répertoires des fichiers que PHP recherche lors de l'exécution des instructions inclut ou requise. Cette configuration peut être définie dans le fichier php.ini ou peut être modifiée dynamiquement via le code. PHP recherchera des fichiers cibles dans l'ordre qui contient la liste des chemins.

Par exemple, la valeur par défaut inclut_path pourrait être quelque chose comme ce qui suit:

 .:/usr/local/lib/php

Cela signifie que PHP consultera d'abord le répertoire actuel ( . ), Puis ira au répertoire / usr / local / lib / php pour rechercher.

2. Introduction à get_include_path () Fonction

get_include_path () est une fonction sans paramètre qui renvoie la chaîne de chemin contenant dans l'environnement PHP actuel après avoir été appelé. En affichant cette chaîne, les développeurs peuvent confirmer quels répertoires PHP recherchera les fichiers inclus.

grammaire:

 string get_include_path(void);

Valeur de retour:

Renvoie une chaîne contenant la liste de chemins, séparée par Path_separator (Colon sous Linux / Unix : , Semicolon sous Windows ; ).

3. Comment utiliser get_include_path () pour déboguer le chemin de fichier inclus?

  1. Imprimez le chemin actuellement inclus

Insérez l'instruction suivante dans le code:

 echo 'Le chemin actuellement inclus est:' . get_include_path();

De cette façon, vous pouvez voir directement où PHP recherchera les fichiers inclus.

  1. Ajustez le chemin inclus

Si vous constatez que le chemin d'inclusion ne contient pas le répertoire souhaité, vous pouvez l'ajuster dynamiquement via la fonction set_include_path () , par exemple:

 set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/your/include/dir');
  1. Combiné avec des chemins d'inclusion lors de l'utilisation d'inclure ou de nécessiter

Si vous n'utilisez pas de chemins absolus, vous pouvez vous assurer que le répertoire où votre fichier est situé est dans le chemin d'inclusion afin que PHP puisse trouver le fichier correctement.

4. Démonstration d'échantillon

Supposons que vous ayez une structure de projet comme suit:

 /var/www/gitbox.net/project/
    ├── index.php
    ├── config/
    │     └── config.php

Vous souhaitez inclure config / config.php dans index.php , mais il est écrit comme:

 include 'config.php';

À l'heure actuelle, le programme rapportera une erreur et ne peut pas trouver le fichier.

Vous pouvez utiliser get_include_path () pour afficher le chemin actuellement inclus:

 <?php
echo 'Inclure des chemins:' . get_include_path() . PHP_EOL;

// Ajouté dynamiquement config 目录到Inclure des chemins
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . '/config');

include 'config.php';  // Maintenant, le fichier peut être trouvé correctement
?>

De cette façon, Php recherche config.php à partir du chemin inclué, quel que soit le répertoire de travail actuel.

5. Précautions et suggestions

  • Utilisez des chemins absolus : lorsque vous incluez des fichiers, essayez d'utiliser des chemins absolus pour éviter les problèmes de défaillance des fichiers en raison de différents répertoires de travail. Vous pouvez utiliser __dir__ ou dirname (__ file__) pour aider avec le chemin d'épissage.

  • Vérifiez l'inclure_path pendant le débogage : Si le fichier inclue échoue, la première étape consiste à imprimer get_include_path () pour confirmer si le chemin d'inclusion est correctement défini.

  • Configuration de Php.ini : Dans l'environnement de production, il est préférable de définir les chemins inclus dans php.ini pour réduire la complexité causée par la modification dynamique des chemins dans le code.

Conclusion

Grâce à la fonction get_include_path () , les développeurs peuvent clairement voir les paramètres actuels de PHP incluent les paramètres de chemin, positionnant ainsi efficacement le problème de recherche des fichiers inclus. Combiné avec un ajustement dynamique des chemins inclus ou en utilisant des chemins absolus, il peut considérablement améliorer la stabilité et la maintenabilité de la gestion des fichiers inclus dans un projet. J'espère que l'introduction de cet article peut vous aider à mieux maîtriser les compétences de débogage de l'inclusion de chemins de fichiers en PHP.

 <?php
// Exemple de code,调试Inclure des chemins
echo '当前Inclure des chemins:' . get_include_path() . PHP_EOL;

// 添加自定义目录到Inclure des chemins
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . '/lib');

include 'myfile.php';  // ici PHP 会在Inclure des chemins中寻找 myfile.php
?>