Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2847 connectés 

 


Dernière réponse
Sujet : [ PHP ] Que signifie cette erreur ?
Sh@rdar ICQ 99174266 ça sera plus pratique

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Sh@rdar ICQ 99174266 ça sera plus pratique
Pinzo

Sh@rdar a écrit a écrit :

donc ça veut dire que tu ne peux faire d'include que de fichiers situés dans ce fameux répertoire du serveur.
 
en regardans en bas à la ligne path_info tu sauras où ce situe ton script par rapport à l'arborescence du serveur.  



Ok mais il y a un truc que je comprends pas. Sur cette même page j'ai mis <?php include "html/links.htm";?> et bizarrement ça marche. Et pourtant "html" c'est un autre répertoire....

Sh@rdar donc ça veut dire que tu ne peux faire d'include que de fichiers situés dans ce fameux répertoire du serveur.
 
en regardans en bas à la ligne path_info tu sauras où ce situe ton script par rapport à l'arborescence du serveur.
Pinzo Ah, a la ligne "open_basedir" il y a "/web/sites" dans la colonne "Local Value" et "no value" dans la colonne "Master Value".....
Sh@rdar bin tu lis un peu tout  :sarcastic:  
 
tu auras une ligne comme ça : open_basedir
 no value no value  
 
sauf que toi tu devrais avoir qq chose plutôt que no value.
Pinzo Ok alors je l'ai fait, j'ai une page avec une multitude d'infos. où est-ce que je vérifie cette histoire de restrictions ?

 

[edtdd]--Message édité par Pinzo--[/edtdd]

Sh@rdar le serveur sur lequel tu essaye un include est configuré pour ne l'accepter que dans certains répertoires (uniquement le rep courant ou bien un autre spécifié dans la config du serveur même).
 
tu pourras connaitre les directives en lancant un script avec juste <? phpinfo() ?> dedans, ça va te sortir un récap de la config php du serveur.
 
si jamais le include n'est possible que dans le rep courant : 2 solutions.
1 - tu déplace tes fichiers pour que ça fonctionne
2 - tu demande à l'administrateur du serveur qu'il change la configuration (moins probable)
Pinzo

Sh@rdar a écrit a écrit :

nan ça se joue au niveau de la conf du serveur, donc php.ini ou option de compilation dans certains cas.
 
sinon regarde avec phpinfo() ce que ça sort comme infos.  



Tu pourrais m'expliquer ca avec un peu plus de détails ? car je débute vraiment et le php je le connais pas encore (les fonctions)

Sh@rdar nan ça se joue au niveau de la conf du serveur, donc php.ini ou option de compilation dans certains cas.
 
sinon regarde avec phpinfo() ce que ça sort comme infos.
Pinzo

Sh@rdar a écrit a écrit :

apparemment, php est configuré (compilé ?) pour que le include ne se fasse que avec un fichier du même niveau :
 
open_basedir string  
 
Limite l'espace oú PHP peut ouvrir des fichiers.  
Lorsqu'un script essaie d'ouvrir un fichier avec les fonctions fopen ou gzopen (par exemple), la localisation du fichier est vérifiée. Si ce fichier est hors du dossier cité dans cette directive, PHP refusera de l'ouvrir. Tous les liens symboliques sont résolus, et subissent aussi la restriction.  
La valeurs spéciale . indique que le dossier courant du script est utilisé comme open_basedir.  
Sous Windows, séparez les noms de dossiers par un point virgule (;). Sur les autres systèmes, séparez les noms de dossiers par des deux points (:). Lorsque PHP est un module Apache, la valeur de la directive open_basedir des dossiers parents sont automatiquement hérités par les fils.  
Note : Le support pour les dossiers multiples a été ajouté dans 3.0.7.
La valeur par défaut est : libre accès à tous les fichiers.  



ouch! c hard... donc la valeur ":" je dois la spécifier où ??
 
(je débute en php :sarcastic:)

 

[edtdd]--Message édité par Pinzo--[/edtdd]

Sh@rdar apparemment, php est configuré (compilé ?) pour que le include ne se fasse que avec un fichier du même niveau :
 
open_basedir string  
 
Limite l'espace oú PHP peut ouvrir des fichiers.  
Lorsqu'un script essaie d'ouvrir un fichier avec les fonctions fopen ou gzopen (par exemple), la localisation du fichier est vérifiée. Si ce fichier est hors du dossier cité dans cette directive, PHP refusera de l'ouvrir. Tous les liens symboliques sont résolus, et subissent aussi la restriction.  
La valeurs spéciale . indique que le dossier courant du script est utilisé comme open_basedir.  
Sous Windows, séparez les noms de dossiers par un point virgule (;). Sur les autres systèmes, séparez les noms de dossiers par des deux points (:). Lorsque PHP est un module Apache, la valeur de la directive open_basedir des dossiers parents sont automatiquement hérités par les fils.  
Note : Le support pour les dossiers multiples a été ajouté dans 3.0.7.
La valeur par défaut est : libre accès à tous les fichiers.
Pinzo Salut. J'ai fait appel à la fonction "include" pour placer l'index des news sur la page d'accueil d'un site. J'ai crée et configuré les tables (2) et j'ai tout uploadé au bon endroit, mais j'ai cette erreur :
 

Citation :

Warning: open_basedir restriction in effect. File is in wrong directory in /web/sites/302/login/www.site.com/news/news.php3 on line 2


 
Qu'est-ce qu'elle signifie ? la ligne 2 du fichier news.php3 va chercher les informations placées dans le config.inc.php3 pourtant celui-ci est parfaitement bien configuré....
 
Help please

 

[edtdd]--Message édité par Pinzo--[/edtdd]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)