[RESOLU] problème chemin relatif, / manquant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] problème chemin relatif, / manquant

Re: problème chemin relatif, / manquant

par vincentvalentine » 03 nov. 2015, 15:19

Merci pour ta réponse, c'était bien dans class.htmlinterface.php le souci. Deux require sans /

Re: problème chemin relatif, / manquant

par ynx » 30 oct. 2015, 16:58

Salut,

La première erreur ne concerne pas le fichier config.php mais le fichier class.htmlinterface.php on line 9 (cf. le message d'erreur).
La troisième erreur de ton message confirme bien ceci.

Tu dois donc avoir un include sans le fameux / dans le fichier class.htmlinterface.php ;)

Bonne journée

Re: problème chemin relatif, / manquant

par vincentvalentine » 30 oct. 2015, 13:06

Sauf si c'est une faute de frappe sur le forum, à première vue, il manque un "s" à ton répertoire config.
Oui, faute de frappe, je corrige.
Par conséquent, tu peux faire ton require juste avec le nom du fichier sans te préoccuper de son emplacement relatif :
Merci pour l'info.

Effectivement, ça ne corrige pas mon / qui disparait :'(

Re: problème chemin relatif, / manquant

par @rthur » 30 oct. 2015, 12:45

Bonjour,
Voici mon arborescence de fichiers : [...]
/var/www/outils/config/acces.inc.php (config partagé par plusieurs outils)

Dans config.php

Code : Tout sélectionner

require_once("../configs/acces.inc.php");
Sauf si c'est une faute de frappe sur le forum, à première vue, il manque un "s" à ton répertoire config.



Par ailleurs, vu le message d'erreur, tu as déjà ton répertoire configs/ dans ton include_path;
Par conséquent, tu peux faire ton require juste avec le nom du fichier sans te préoccuper de son emplacement relatif :

Code : Tout sélectionner

require_once("acces.inc.php");

(Mais ça ne répondra pas à ta question de slash qui semble bizarrement disparaitre)

problème chemin relatif, / manquant

par vincentvalentine » 30 oct. 2015, 12:35

Bonjour,

je rencontre ce souci : la construction d'un chemin relatif ne se fait pas correctement, il manque un /.

Voici mon arborescence de fichiers :
/var/www/outils/annuaire/index.php
/var/www/outils/annuaire/config.php
/var/www/outils/configs/acces.inc.php (config partagé par plusieurs outils)

Dans Index.php :

Code : Tout sélectionner

require_once "config.php";
Dans config.php

Code : Tout sélectionner

require_once("../configs/acces.inc.php");
je dois donc remonter d'un cran pour trouver le dossier config et accéder à acces.inc.php.
Mais ça ne fonctionne pas, j'ai cette erreur :

Code : Tout sélectionner

[30-Oct-2015 10:46:57] PHP Warning: require_once(/var/wwwoutils/configs/acces.inc.php): failed to open stream: No such file or directory in /var/www/outils/configs/needed/class.htmlinterface.php on line 9 [30-Oct-2015 10:46:57] PHP Fatal error: require_once(): Failed opening required '/var/wwwoutils/configs/acces.inc.php' (include_path='.:/usr/share/php:/usr/share/pear:/var/www/outils:/var/www/outils/configs') in /var/www/outils/configs/needed/class.htmlinterface.php on line 9
On voit bien qu'il "zappe" le / entre www et outils. Pourquoi ? :cry:
J'ai essayé avec cette syntaxe :

Code : Tout sélectionner

require_once($_SERVER['DOCUMENT_ROOT']."/outils/configs/acces.inc.php");
Idem. (avec ou sans / )

Code : Tout sélectionner

[30-Oct-2015 10:52:46] PHP Warning: require_once(/var/wwwoutils/configs/acces.inc.php): failed to open stream: No such file or directory in /var/www/outils/configs/needed/class.htmlinterface.php on line 9 [30-Oct-2015 10:52:46] PHP Fatal error: require_once(): Failed opening required '/var/wwwoutils/configs/acces.inc.php' (include_path='.:/usr/share/php:/usr/share/pear:/var/www/outils:/var/www/outils/configs') in /var/www/outils/configs/needed/class.htmlinterface.php on line 9
Et si j'ai le vice de mettre un point devant le / incriminé, comme ça :

Code : Tout sélectionner

require_once($_SERVER['DOCUMENT_ROOT']."./outils/configs/acces.inc.php");
D'un coup, il me retrouve le / !!!!

Code : Tout sélectionner

[30-Oct-2015 10:53:25] PHP Warning: require_once(/var/www./outils/configs/acces.inc.php): failed to open stream: No such file or directory in /var/www/outils/annuaireEtbs/config.php on line 9 [30-Oct-2015 10:53:25] PHP Fatal error: require_once(): Failed opening required '/var/www./outils/configs/acces.inc.php' (include_path='.:/usr/share/php:/usr/share/pear:/var/www/outils:/var/www/outils/configs') in /var/www/outils/annuaireEtbs/config.php on line 9
Et si j'enlève juste le point, le / disparait.

Ce code fonctionne parfaitement sur un autre serveur (on change de serveur physique). On a donc réinstaller le sytème à l'identique pour un parfaite compatibilité, mais ça ne fonctionne pas :( Why ? :cry: :cry:

Merci de votre aide.