Bonjour, je travail actuellement sur le tutorial MVC et j'ai remarquer que dans le tutorial il y a un require dans lequel on a mis une constante. J'ai essayer de réaliser la même chose sur mon site :

define('W_ROOT', '/~fruits/'); // SERVER
// ------------------------------> 
// Définitions des pages inclues
require (W_ROOT.'inclusions/config.php');

Cela ne marche pas du tout j'ai cette erreur :
Warning: require(/~fruits/.../config.php) [function.require]: failed to open stream: No such file or directory in /home/fruits/www/voir.php on line 9

Fatal error: require() [function.require]: Failed opening required '/~fruits/.../config.php' (include_path='.:/usr/share/php5') in /home/fruits/www/voir.php on line 9

Voilà si quelqu'un vois d'ou viens l'erreur.

Merci d'avance.

4 réponses


Bonjour,
A voir ton define, tu a surement du écrire '/~fruits/' pensant que sa voudrais dire '/home/fruits/' or dans un define, tout ce que tu lui écris, il ne l'interprète pas et donc en écrivant '/~fruits/' il essaye d’accéder au fichier qui se situe dans '/~fruits/' au lieu de '/home/fruits/'

Change ton define en define('W_ROOT', '/home/fruits/');
ou crée un nouveau define genre define('HOME', '/home');
et tu redéfinie define('W_ROOT', HOME . '/fruits/');

yosaku
Auteur

Merci de ta réponse, j'ai tester comme tu me l'as dis mais çà n'a pas changer l'erreur =(
J'ai tester le chemin d'accés et j'ai obtenu ça : /home/fruits/www
J'ai tout tester mais je n'arrive pas à définir un chemin absolu pour mon fichier config.

Quel est le chemin complet de ton fichier, en partant de la racine de ton site?

Regarde aussi du coter de la variable $_SERVER il y a peut etre une information qui pourrais t'etre utile :)

yosaku
Auteur

Alors j'ai tester avec :

echo $_SERVER'SCRIPT_FILENAME'] ;

qui m'a indiquer : /home/fruits/www/inclusions/config.php
et avec :

echo $_SERVER'PHP_SELF'];

qui m'a indiquer : /~fruits/inclusions/config.php
J'ai tester les deux et je n'est pas réussi à avoir le bon chemin pour un voir un absolu de mon fichier config =(