Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 21/03/2011, 10h01   #1
Nouveau Membre du Club
 
Avatar de sibelmoch
 
Homme Matthieu
Lycéen
Inscription : mars 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Matthieu
Localisation : France

Informations professionnelles :
Activité : Lycéen
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 40
Points : 36
Points : 36
Par défaut Problème d'include sous Linux

Bonjour je développe actuellement une application en php, j'ai dû passer sous Linux ce qui a entraîné de gros bug sur mes includes. Au début quand je faisait un include du chemin absolu ça fonctionnait mais les chemins relatifs n'ont jamais voulu fonctionner. Pour ne plus avoir à mettre des chemins absolus j'ai essayé plusieurs choses voici mon arborescence:

Citation:
www
+projetCDI

++Modeles
+++Metier
+++Conteneur

++Vues
+++Cache
+++Config
+++Templates
+++Templates_c
Pour mon include maintenant j'utilise :
Code :
1
2
3
   $path = $_SERVER['DOCUMENT_ROOT'];
 
	include($path."/Metier/Emprunt.php");
Ce qui me renvoi le bon chemin mais j'ai l'erreur failed to open stream qui s'affiche alors j'ai voulu remettre le chemin absolu comme ça :
Code :
include("var/www/ProjetCDI/Modeles/Metier/Emprunt.php");
Mais ça ne marche plus du tout

J'ai aussi essayé en mettant:

Code :
1
2
3
$path = dirname("Metier/Emprunt.php");
 
include($path);
Mais ça n'a pas non plus marché si quelqu'un à une idée merci d'avance
sibelmoch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 10h59   #2
Membre chevronné
 
Avatar de Farid63
 
Homme Farid
Inscription : janvier 2008
Messages : 368
Détails du profil
Informations personnelles :
Nom : Homme Farid
Âge : 26
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : janvier 2008
Messages : 368
Points : 684
Points : 684
Salut,

As-tu essayer en rajoutant www/ :

Code PHP :
include("/var/www/ProjetCDI/Modeles/Metier/Emprunt.php");
Farid63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h03   #3
Nouveau Membre du Club
 
Avatar de sibelmoch
 
Homme Matthieu
Lycéen
Inscription : mars 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Matthieu
Localisation : France

Informations professionnelles :
Activité : Lycéen
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 40
Points : 36
Points : 36
Merci de ta réponse en fait je me suis trompé j'ai écrit var/projetCDI/Modeles/Metier mais dans mon programme c'est var/www/projetCDI/Modeles/Metier ce qui ne marche pas plus..
sibelmoch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h16   #4
Nouveau Membre du Club
 
Avatar de sibelmoch
 
Homme Matthieu
Lycéen
Inscription : mars 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Matthieu
Localisation : France

Informations professionnelles :
Activité : Lycéen
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 40
Points : 36
Points : 36
Bon en fait j'avais bien une erreur de syntaxe pour mon chemin absolu mais ça ne m'avance pas car mon application doit fonctionner sur linux ou sur windows alors je ne peut pas conserver des chemins absolus. Le soucis c'est que mes autres solutions n'ont pas fonctionné.
sibelmoch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h28   #5
Membre chevronné
 
Avatar de Farid63
 
Homme Farid
Inscription : janvier 2008
Messages : 368
Détails du profil
Informations personnelles :
Nom : Homme Farid
Âge : 26
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : janvier 2008
Messages : 368
Points : 684
Points : 684
il faudrait que tu fasse :

Code PHP :
1
2
3
4
5
6
 
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
 
echo $path . '/Metier/Emprunt.php';
?>

Pour voir si tu obtient bien le bon chemin.

Je pense que $path doit renvoyer : /var/www (je sais plus si le / de fin est compris ou non, je peux pas vérifier maintenant), du coup ton include devrai être :

Code PHP :
1
2
3
4
5
6
 
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
 
include($path . '/ProjetCDI/Modeles/Metier/Emprunt.php');
?>

D'ailleurs, il y a une autre erreur, si tu utilise la concatenation, il te faut utiliser les simples quotes : ' ' au lieu de " ".
Farid63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h44   #6
Nouveau Membre du Club
 
Avatar de sibelmoch
 
Homme Matthieu
Lycéen
Inscription : mars 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Matthieu
Localisation : France

Informations professionnelles :
Activité : Lycéen
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 40
Points : 36
Points : 36
J'ai bien appliqué tes propositions mais sans succès pourtant le chemin renvoyé par le echo est correct mais il s'entête à me dire que le répertoire ou le fichier n'existe pas.

Edit : En fait c'est bon ça marche j'ai relancé Apache et bizarrement sa a fonctionné
Merci encore pour le temps que tu as pris à m'aider c'est cool
sibelmoch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h54   #7
Membre chevronné
 
Avatar de Farid63
 
Homme Farid
Inscription : janvier 2008
Messages : 368
Détails du profil
Informations personnelles :
Nom : Homme Farid
Âge : 26
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : janvier 2008
Messages : 368
Points : 684
Points : 684
Si je peux aider

Peux-tu nous dire quel est donc la solution correcte, au cas ou quelqu'un aurait le même problème?

A+
Farid63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h58   #8
Nouveau Membre du Club
 
Avatar de sibelmoch
 
Homme Matthieu
Lycéen
Inscription : mars 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Matthieu
Localisation : France

Informations professionnelles :
Activité : Lycéen
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2011
Messages : 40
Points : 36
Points : 36
Il y a deux solutions celle que tu as donné un peu plus haut:

Code :
1
2
   $path = $_SERVER['DOCUMENT_ROOT'];
	include($path.'/projetCDI/Modeles/Metier/Emprunt.php');
Ou comme ça sa marche aussi:

Code :
1
2
   $path = $_SERVER['DOCUMENT_ROOT'];
	include("$path/projetCDI/Modeles/Metier/Emprunt.php");
sibelmoch 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 20h21.


 
 
 
 
Partenaires

Hébergement Web