Maison > Article > développement back-end > Méthodes pour résoudre l'erreur fatale : require() : échec de l'ouverture requise 'data/tdk.php' (include_path='.;C:\php\pear')
"Méthodes pour résoudre l'erreur fatale : require() : Échec de l'ouverture requise 'data/tdk.php' (include_path='.;C:phppear')"
Récemment, certains développeurs PHP ont rencontré Voici un problème problème : lorsqu'ils utilisent la fonction require() dans le code PHP pour charger un fichier requis, l'erreur suivante apparaîtra :
fatal error: require(): Failed opening required 'data/tdk.php' (include_path='.;C:phppear')
Cette erreur est généralement causée par la valeur de include_path. La fonction de include_path est de spécifier le chemin sous lequel le programme PHP recherche les fichiers requis.
Il existe plusieurs façons de résoudre ce problème :
La solution la plus simple consiste à utiliser le chemin complet pour charger le fichier requis. Par exemple, data/tdk.php dans l'erreur ci-dessus, si nous savons de quel répertoire il se trouve sur le serveur, nous pouvons utiliser le chemin complet pour le remplacer. Par exemple :
require('/var/www/html/project/data/tdk.php');
De cette façon, le programme PHP peut trouver directement le fichier requis et le charger correctement.
Mais cette méthode a un inconvénient, c'est-à-dire que lorsque nous devons tester ou exécuter le programme sur différents serveurs, en raison des différents chemins, nous devons modifier les chemins à tout moment, ce qui est très gênant.
Une autre méthode consiste à modifier la valeur de include_path dans le fichier de configuration PHP php.ini. Ouvrez le fichier php.ini, recherchez-y l'élément include_path et séparez plusieurs chemins par des points-virgules, par exemple :
include_path = ".:/usr/lib/php:/usr/local/lib/php:/path/to/your/files"
De cette façon, le programme PHP recherchera tour à tour les fichiers requis dans ces chemins. Si nous sommes dans le répertoire /data, nous pouvons l'ajouter à include_path :
include_path = ".:/usr/lib/php:/usr/local/lib/php:/path/to/your/files:/data"
Après avoir modifié le fichier php.ini, redémarrez le service PHP et les fichiers requis pourront être chargés normalement.
PHP fournit la constante __DIR__, qui représente le répertoire où se trouve le script actuel. (Utilisez dirname(__FILE__) avant PHP5.3.0) Nous pouvons l'utiliser pour résoudre le problème ci-dessus, c'est-à-dire utiliser des chemins relatifs dans le code. Par exemple :
require(__DIR__ . '/data/tdk.php');
De cette façon, quel que soit le chemin vers lequel nous copions l'intégralité du programme, le programme PHP peut utiliser correctement les fichiers requis.
Résumé :
Parmi les trois méthodes ci-dessus, vous pouvez en choisir une pour résoudre ce problème en fonction de la situation réelle. S’il s’agit d’un projet de développement personnel, vous pouvez utiliser la troisième méthode. Si vous développez en collaboration avec plusieurs personnes ou si vous exécutez des programmes sur différents serveurs, il est recommandé d'utiliser la deuxième méthode. Si vous ne souhaitez pas modifier le fichier de configuration PHP, mais que vous ne souhaitez pas utiliser le chemin complet pour charger le fichier à chaque fois, vous pouvez utiliser la première méthode.
Quelle que soit la méthode utilisée, vous devez faire attention à la casse du chemin du fichier et à l'exactitude du nom du fichier. Ceux-ci peuvent provoquer cette erreur. En choisissant la bonne méthode, vous pouvez charger correctement les fichiers requis et permettre au programme de fonctionner correctement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!