IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème d'include sous Linux [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de sibelmoch
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 41
    Points
    41
    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:

    www
    +projetCDI

    ++Modeles
    +++Metier
    +++Conteneur

    ++Vues
    +++Cache
    +++Config
    +++Templates
    +++Templates_c
    Pour mon include maintenant j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    include("var/www/ProjetCDI/Modeles/Metier/Emprunt.php");
    Mais ça ne marche plus du tout

    J'ai aussi essayé en mettant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Salut,

    As-tu essayer en rajoutant www/ :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    include("/var/www/ProjetCDI/Modeles/Metier/Emprunt.php");

  3. #3
    Membre du Club Avatar de sibelmoch
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    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..

  4. #4
    Membre du Club Avatar de sibelmoch
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    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é.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    il faudrait que tu fasse :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 " ".

  6. #6
    Membre du Club Avatar de sibelmoch
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    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

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    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+

  8. #8
    Membre du Club Avatar de sibelmoch
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Il y a deux solutions celle que tu as donné un peu plus haut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       $path = $_SERVER['DOCUMENT_ROOT'];
    	include($path.'/projetCDI/Modeles/Metier/Emprunt.php');
    Ou comme ça sa marche aussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       $path = $_SERVER['DOCUMENT_ROOT'];
    	include("$path/projetCDI/Modeles/Metier/Emprunt.php");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Qt]Problème d'include sous vc2005 express
    Par Cheps dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 05/10/2006, 09h38
  2. Problème de portabilité sous Linux
    Par eG.dam dans le forum Linux
    Réponses: 4
    Dernier message: 23/06/2006, 23h06
  3. [WebService](SSL] Problème de SSL sous Linux
    Par Tueur_a_gage dans le forum JOnAS
    Réponses: 4
    Dernier message: 09/01/2006, 16h38
  4. Problème avec glutFullScreen() sous linux...
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 29/11/2004, 11h30
  5. Problème d'include sous Dev-c++ 4.9.8.0
    Par Argonz dans le forum Dev-C++
    Réponses: 16
    Dernier message: 20/11/2003, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo