Fatal error: Class 'base de données' non trouvée - PHP
Lorsque je tente d'utiliser le problème de la classe j'obtiens l'erreur suivante:
Fatal error: Class 'database' not found in path/problem.php on line 25
Je ne comprends pas pourquoi j'ai eu cette erreur, en haut de problem.php j'ai besoin de database.php. Ce qui se passe?
problem.php
<?php
require("common.php");
require("database.php");
...
?>
database.php
<?php
class database
{
...
}
?>
- Pouvez-vous fournir le code exact?
- Sont problem.php et database.php dans le même dossier?
- Ciprian L.: C'est le code exact. Que voulez-vous dire? Eric: Oui.
- À quel point est
problem
instancié? - Sont tous les fichiers dans le même répertoire?
- Ohhh. Je l'ai maintenant. Il a été créé dans le parent directoy. Je ne semble pas comprendre cela. Merci les gars!
- Il pourrait un problème avec votre include_path ou le fait d'avoir plusieurs scripts avec ce nom qui traînent. Essayez
include("./database.php")
avec un ./ explicite ou même chemin d'accès absolu. - gore, qui n'aurait pas d'importance comme base de données doit être dans la portée requise dans le même fichier que celui de la classe, même si, pour les classes, il doit être vraiment à l'aide de
require_once
Vous devez vous connecter pour publier un commentaire.
c'est probablement un chemin de problème. Afin de le fixer, dans votre problem.php fichier
ce faire:
qui affichera quelque chose comme
/var/www/html/myfilepath/
votre fichier, problem.php sera dans ce dir.
maintenant, si database.php est également dans ce dir, vous pouvez le faire
si c'est quelque chose d'autre que vous pouvez faire
avez-vous d'inclure le fichier?
nevermind.
Peut-être :le comprennent (requis) n'est pas de l'ouverture du fichier.
Pouvez-vous ajouter
à pied de la database.php et vérifier de nouveau?
Ainsi, nous pouvons comprendre, database.php est inclus à la page .
pour la postérité: juste pour clarifier la raison de cet échec est que vous y compris du point de vue de l'appel d'ORIGINE laissez-moi vous expliquer en donnant l'exemple:
cela signifie qu'au moment où vous arrivez à "
problem.php
" et la mention "database.php
" vous êtes dans "myfolder/
" aussi loin que PHPland est soucieux de ne pas "myfolder/classes
" (que vous devez être pour ce qui est logique). La bonne façon de le faire est de simplement utiliser des chemins absolus pour le tout par une constante faite sur la ligne 1, page 1. Je sais que c'est ce que beaucoup de gens dire, c'est horrible - mais en toute honnêteté, c'est ce que les "espaces de noms" sont censés corriger mais j'ai toujours utiliser des constantes (à mon humble avis les espaces de noms sont affreux en php, et sont plus à voir avec l'auto-agrandissement/open source de publicité/paternité ego bénéficiant d'ordre du jour que quelque chose de concret ou utile)