[php] "require" imbriqué

"require" imbriqué [php] - Programmation

Marsh Posté le 30-06-2002 à 17:28:51    

Bonjour je suis confronté a un pb bizarre :
"un bout de code en php qui marchait sur un ordi ne marche pas sur un autre " (serveur different surement)
 
mon pb vient de la fonction require qui permet d'inclure un fichier dans un autre :
 
voici les fichiers que j ai :
\index.php
\a\a.php
\a\b\b.php
 
\index.php :   <? echo "index"; require "a/a.php" ?>
\a\a.php :     <? echo "a"; require "a/b/b.php" ?>
\a\b\b.php :   <? echo "b" ?>
 
 
 
quand j appelle index : ca m affiche :  
"indexa
Fatal error: Failed opening required 'a\b\b.php' (include_path='..';) in E:\_serveur_local\wwwroot\a\a.php on line 1
"
au lieu de : "indexab"
alors que pourtant ca marchait sur un autre pc .....  
 
pour que ca marche il faut que je remplace :  
"require "a\b\b.php" " par  "require "b\b.php" ".
 
 
Grosso modo c est plus simple c vrai, mais bon faudrait savoir si les normes sont fixées ....
 

Reply

Marsh Posté le 30-06-2002 à 17:28:51   

Reply

Marsh Posté le 30-06-2002 à 18:53:47    

je pense que le directoire de base est celui ou ce trouve le fichier.
 
comme le fichier a.php est déjà dans a\
 
donc quand tu fais require b.php, il le fait à partir de a\

Reply

Marsh Posté le 30-06-2002 à 19:08:54    

ma conclusion is :
 
avec IIS : faut faire utiliser un path relatif
 
avec apache c est bien le path par rapport au tout premier fichier d appel !
 
donc apache != IIS .....vive les enmerdes...

Reply

Marsh Posté le 30-06-2002 à 19:27:14    

Et encore ça depend des versions :)
 
Moi j'utilises EasyPHP (dc apache) avec la version 1.5 l'include ne dependait pas du premier fichier, mais par contre avec easyPHP 1.6 ca marche selon le premier fichier d'appel.


Message édité par Stligar le 30-06-2002 à 19:27:38
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed