IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

ini_set d'un include_path ne marche pas partout pareil ?


Sujet :

Langage PHP

  1. #1
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut ini_set d'un include_path ne marche pas partout pareil ?
    Bonjour à tous.

    j'ai une petite bizarerie à vous soumettre...

    je fait un ini_set("include_path", "../"); sur mon site. plus loin, je fait un include_once 'Includes/langues/FR.php';

    tout ça marche très bien en local. mais quand j'upload sur mon serveur, il me déclenche une erreur, impossible de faire l'include ... :

    Warning: main(Includes/langues/FR.php) [function.main]: failed to open stream: No such file or directory in /home/ectindus/www/New_ECT/index_real.php on line 40

    Warning: main() [function.include]: Failed opening 'Includes/langues/FR.php' for inclusion (include_path='../') in /home/ectindus/www/New_ECT/index_real.php on line 40
    Pourtant, il ne devrait pas y avoir de problème de path puisque mon include_path est relatif...

    Avez-vous une idée d'où pourrait venir ce problème SVP ? une incompatibilité entre les versions de PHP ? (5.1.4 en local 4.4.4 sur le serveur)

    Merci d'avance de vos suggestions.

    Edit : testé en 4.4.2 en local, ça marche toujours très bien, je suis perplexe sur ce coup-là...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Salut

    Tu devrais utiliser
    PATH_SEPARATOR,
    et
    DIRECTORIE_SEPARATOR, au lieu de "/" ou "\"

    en gros tu modifie ton path avec ini_set(), mais avant je te conseil de le recuperer avec ini_get(), ensuite un PATH_SEPARATOR et ton path

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'..'.
    DIRECTORY_SEPARATOR);
    sahid

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Merci à toi pour ces conseils

    Mais même en appliquant ta méthode, le problème demeure ...

    Ce qui est d'autant plus étrange, c'est qu'après cet include, j'en fait plein d'autres, qui eux passent sans soucis ...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  4. #4
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    hum...

    alors essai un phpinfo(), tu regardes le chemin de ton document root (DOCUMENT_ROOT) et tu crées le path en fonction

  5. #5
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ini_set('include_path', '..'.DIRECTORY_SEPARATOR);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ini_set('include_path', dirname(ini_get('include_path')).DIRECTORY_SEPARATOR);
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ini_set('include_path', dirname(dirname(ini_get('include_path'))).DIRECTORY_SEPARATOR);
    En fonction de jusqu'où tu veux remonter... .. .

    @ tchaOo°

  6. #6
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    ça ne marche toujours pas, et pourtant j'ai même reconstruit le chemin complet...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	$chemin = 'http://'.$_SERVER['SERVER_NAME'];
     
    	$path = explode('/', substr($_SERVER['REQUEST_URI'], 1));
     
    	$toto = array_pop($path);
    	$toto = array_pop($path);
    	print_r($path);
    	foreach ($path as $curr_elt) {
    		$chemin = $chemin.'/'.$curr_elt;
    	}
     
    	$chemin = $chemin.'/';
     
    	ini_set('include_path', $chemin);
    l'avantage, c'est que ce coup-ci, ça me plante complètement l'appli

    Mais je ne comprends toujours pas pourquoi cet include bloque, alors que les suivants passent ...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  7. #7
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Je suis un énorme boulet

    La différence entre mes deux serveurs, c'est qu'un des deux est sous windows et qu'il se tape des majuscules, l'autre sous linux et y est sensible...

    Il s'agissait simplement d'une majuscule pour la première lettre de mon fichier

    Toutes mes excuses, et merci encore pour le coup de main...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire d'inscription qui ne marche pas partout
    Par Belebostre dans le forum Langage
    Réponses: 3
    Dernier message: 23/06/2008, 15h03
  2. [RegEx] bbcode qui ne marche pas partout
    Par Tee shot dans le forum Langage
    Réponses: 12
    Dernier message: 08/07/2007, 18h22
  3. Réponses: 7
    Dernier message: 27/06/2007, 23h32
  4. [JDIC][Tray]Ne marche pas partout
    Par Baptiste Wicht dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 03/07/2006, 09h49
  5. [ Problème ] .htaccess qui ne marche pas "partout"
    Par nnet_mathieu dans le forum Apache
    Réponses: 8
    Dernier message: 22/11/2005, 19h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo