Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2006, 14h31   #1
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
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 ... :

Citation:
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 !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 14h43   #2
Membre confirmé
 
Développeur Web
Inscription : septembre 2006
Messages : 215
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2006
Messages : 215
Points : 246
Points : 246
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 :
1
2
3
 
ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'..'.
DIRECTORY_SEPARATOR);
sahid
sahid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 14h46   #3
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
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 !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 14h49   #4
Membre confirmé
 
Développeur Web
Inscription : septembre 2006
Messages : 215
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2006
Messages : 215
Points : 246
Points : 246
hum...

alors essai un phpinfo(), tu regardes le chemin de ton document root (DOCUMENT_ROOT) et tu crées le path en fonction
sahid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 14h55   #5
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Code :
1
2
 
ini_set('include_path', '..'.DIRECTORY_SEPARATOR);
ou

Code :
1
2
 
ini_set('include_path', dirname(ini_get('include_path')).DIRECTORY_SEPARATOR);
ou encore

Code :
1
2
 
ini_set('include_path', dirname(dirname(ini_get('include_path'))).DIRECTORY_SEPARATOR);
En fonction de jusqu'où tu veux remonter... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 15h12   #6
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
ça ne marche toujours pas, et pourtant j'ai même reconstruit le chemin complet...

Code :
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 !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 15h42   #7
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
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 !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h32.


 
 
 
 
Partenaires

Hébergement Web