Page 1 sur 1

probleme en php5 avec la fonction include

Posté : 20 mai 2008, 16:36
par stephane52
J'ai un problème.Mon hebergeur m'a di qu'il avant changé de php
.il est passé de php4 au php5.
Le problème que j'ai est le suivant:
j'ai un problème avec la fonction include:
j'ai fait des tests:
<?php
    include("bas.php");
    ?>
Cela marche en php4 et php5.
Puis j'ai mis la page bas.php un cran en dessous.cela donne:
<?php
    include("../bas.php");
    ?>
Cela marche en php4 et php5.
Puis en mettant la page bas.php un cran en dessous.cela donne:
<?php
    include("../../bas.php");
    ?>
et la cela ne marche pas en php5 alors qu'en php4 cela marchait.
Je ne sais pas pourquoi.
par contre si je mets:
<?php
    include("http://www.monsite.com/bas.php");
    ?>
ça marche.
Est-ce lié au changement de php ou pas à votre avis?

Posté : 20 mai 2008, 17:43
par animithra
Bonsoir.

Es-tu certain que le déplacement de la page soit la seule différence entre toutes tes manipulations ? A priori il ne devrait pas y avoir de problème (j'utilise php5 avec des niveaux de répertoires plus importants et je n'ai jamais constaté un tel problème).

Note : si tu passes de '../bas.php' à '../../bas.php' ce n'est pas la page bas.php qui descend dans l'arborescence mais ta page en cours, ou si tu préfère ta page bas.php est remontée (chaque '../' représentant une arborescence supérieure dans l'arbre des répertoires).

Posté : 20 mai 2008, 18:00
par stephane52
Bonjour,
A chaque fois que je faisais un test je changeais l'emplacement de la page bas.php.
Pour le premier test par exemple j'avais mis la page bas.php dans le même répertoire.Le test était bon.
Mais pour le dernier test c'est à dire :
<?php
    include("../../bas.php");
    ?>
Cela m'affiche comme messge d'erreur:
Warning: include() [function.include]: open_basedir restriction in effect. File(../../bas.php) is not within the allowed path(s): etc..
Alors qu'avant en php4 cela marchait.
Le fichier bas.php est bien à la bonne place mais cela ne marche pas.
Mon hébergeur répond à côté donc je ne sais pas pas d'ou vient le problème.
Est-ce que quelqu'un aurait une solution?
Merci d'avance
Stef.

Posté : 20 mai 2008, 18:06
par AB
C'est peut-être ta page qui appelle l'include qui a changé de répertoire?

En tous cas comme l'a signalé animithra, je n'ai pas constaté de différence entre php4 et php5 à ce niveau.