Problème d'accès à un sous répertoire

Fermé
diallo - Modifié par diallo le 12/06/2016 à 20:04
 Utilisateur anonyme - 16 juin 2016 à 14:59
Bonjour,


J'ai un souci avec mes codes php. quand je fais include('repertoire/mon_fichier.php') dans mon projet, il ne voit pas le fichier mon_fichier.php du répertoire repertoire. Mais si je le mets dans le même repertoire que le fichier dans lequel il est appelé, il n'y a aucun soucis. NB: quand je suis sous windows, ça prend à merveille mais dès que je viens sous linux( RedHat) le problème recommence.

Merci d'avance.

7 réponses

Utilisateur anonyme
12 juin 2016 à 20:41
Bonsoir

S'il y a une différence à ce niveau entre linux et windows, c'est peut-être parce que tu ne respectes pas la casse (les majuscules / minuscules).
Windows ne fait pas de différence entre 'repertoire' et 'Repertoire', alors que pour linux ce sont deux dossiers différents.
0
Bonjour,
Au départ, j'ai cru la même chose aussi mais même après avoir respecté la casse, ça n'a pas changé.
0
Utilisateur anonyme
13 juin 2016 à 16:35
Il n'y a aucun caractère spécial (lettre accentuées) dans les noms de fichier ou de répertoire ?
0
bonjour,

Non aucun.
0
Utilisateur anonyme
14 juin 2016 à 11:32
As-tu un message d'erreur qui te dit que ce fichier n'est pas trouvé ? Si oui, recopie-le ici.
0
Il n'affiche aucun message d'erreur. C'est qu'il ne fait rien; il affiche une page blanche
0
Utilisateur anonyme
14 juin 2016 à 13:16
Il y a plusieurs possibilités :
- le fichier n'est pas vu mais l'affichage des erreurs est masqué
- le fichier est bien inclus, mais son comportement dépend du dossier dans lequel il est.

Pour lever l'ambiguïté, ajoute au début du script, avant le include :
error_reporting(E_ALL);

et dis-nous s'il n'y a toujours pas de message d'erreur.

Tu peux aussi ajouter un
echo "coucou";
dès le début du fichier inclus pour vérifier s'il est inclus ou non.
0
bonjour,

J'ai fait ça mais toujours aucune erreur. Il affiche une page blanche.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tu as aussi essayé avec le echo "coucou" au début du fichier inclus ?
Soit tu as un message d'erreur au niveau du premier fichier, soit tu as le coucou au début du fichier inclus. Soit encore ça ne marche pas non plus sous windows, parce qu'il y a une erreur à un autre niveau.
Peux-tu montrer le fichier qui contient le include('repertoire/mon_fichier.php') ainsi que le fichier repertoire/mon_fichier.php lui-même ?

Au fait, comment fais-tu des essais sur windows et linux ? Un en local et l'autre chez un hébergeur ? Ou tu as un dual boot ?
0
je les fais tous les deux (windows et unix) en local sauf que sous windows j'utilise xamp comme serveur apache et sous le redhat j'ai installer le serveur mysql et php directement sur le système physique. le fichier qui fait appel c'est index.php et voici la portion de code où j'inclus le fichier index.vue.php
<?php
error_reporting(E_ALL);
include("vues/index.vue.php");
?>

et le contenu du fichier index.vue.php est:

<?php
echo "coucou";
?>

NB: le fichier index.php et le répertoire vues sont dans le même répertoire et je fais un dual boot.
0
Utilisateur anonyme
15 juin 2016 à 12:12
Et si tu ajoutes echo "coucou premier"; au début de ton premier script, entre le "error-reporting" et le "include", ça s'affiche bien ? J'ai simplement l'impression que php ne marche pas avec ton linux.
0
Oui ça s'affiche bien
0
Et il n'y a rien d'autre dans tes deux fichiers ? En tout cas rien avant la partie que tu montres ?

Fais volontairement une erreur de fichier include dans ton premier fichier
<?php
error_reporting(E_ALL);
include("vues/nexistepas.php");
?>
Pour voir s'il affiche bien un message en cas de problème

[edit]
J'ai oublié le ini_set pour l'affichage des erreurs :
<?php 
error_reporting(E_ALL); 
ini_set("display_errors", 1);
include("vues/nexistepas.php"); 
?> 
0
Bonjour,
Maintenant ils m'affichent une erreur.
Warning: include(vues/index.vue.php): failed to open stream: permission denied in /var/www/html/index.php on line 11
et même quand je me connecte avec le compte root, ça affiche la même erreur.
0
bonjour,
J'ai trouvé la solution. J'ai constaté que les fichiers à l'intérieur du répertoire /var/www/html n'avaient pas les droit qu'il fallait pour la lecture. Donc j'ai changé les droits en faisant:
sudo chmod -R 755 /var/www/html
l'option R c'est pour que les fichiers contenus dans les sous répertoires aussi aient les même droits d'accès.
le père merci de m'avoir accordé ton précieux temps.
Cordialement
0
Utilisateur anonyme > diallo
Modifié par le père. le 16/06/2016 à 14:59
De rien :-)
0