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

EDI, CMS, Outils, Scripts et API PHP Discussion :

$_SERVER['DOCUMENT_ROOT'] sur Wamp [Wamp]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 10
    Par défaut $_SERVER['DOCUMENT_ROOT'] sur Wamp
    Bonjour,

    Je travaille sur le portage d'une application faite en php, le problème de cette application est qu'elle contient des chemins absolus. Un script root.php contenant les chemins est appelé à chaque fois. Un petit extrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $matrix['js']			="/www/docs/fcm/center/lib/js";
    Des chemins de la sorte sont utilisés dans les scripts de l'application. L'objectif est de rendre cette application portable afin de l'installer chez d'autres filiales. J'entreprend donc de remplacer tous les chemins absolus par des chemins relatifs (sachant que php n'est pas ma spécialité).

    J'utilise pour cela la variable d'environnement $_SERVER['DOCUMENT_ROOT']. A titre d'exemple, j'ai remplacé la ligne précédente par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $matrix['js']			=$_SERVER['DOCUMENT_ROOT']."/center/lib/js";
    Cela marche bien pour les include et les require qui sont bien résolus, seulement pour les éléments interprétable en html (img src, link, form action...), cela ne fonctionne pas.

    Voici le code php utilisé et le rendu html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<? echo $matrix['sharedgfx']."/"?>logo.gif">
    Résultat html :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="C:/wamp/www/webapp/center/shared/gfx/img/aware.gif">
    (pour l'instant je test en local chez moi sur une plateforme wamp)

    L'image n’apparaît évidemment pas et c'est pareil pour les forms, les css...etc

    A noter que j'ai un vhost qui pointe sur la racine de mon application et qui est le point d'accès.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut
    Bonsoir, a t'as place j'aurais directement insérer le bon path.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $matrix['js']			= "/webapp/center/lib/js";
    Tu dois indiquer la racine de ton dossier ou d'un dossier dans 'www'.

    www -> /

    www/webapp/center -> /webapp/center


    si t'as d'autres question

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 10
    Par défaut
    Bonjour, je te remercie pour ta réponse. J'ai tenté de faire cela, seulement les include et require ne sont pas résolus.

    On me dit :

    Warning: require_once(/webapp/PROD/CENTER/lib/php/gfx/top.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut
    Tu peux me dire le path du fichier qui t'envoi cette erreur ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 10
    Par défaut
    C'est "C:\wamp\www\webapp\PROD\CENTER\lib\php\fnc\r_login.php"

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut
    dans "C:\wamp\www\webapp\PROD\CENTER\lib\php\fnc\r_login.php"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once "../gfx/top.php";

  7. #7
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Billets dans le blog
    1
    Par défaut
    Les éléments que tu inclues en php (via un include_once ou un require_once) vont nécessiter en chemin absolu le chemin sur le serveur (donc c:/... si tu es sous windows)
    Les éléments que tu inclues en html (les images / js / css) nécessitent un chemin à partir de la racine web (donc /css/main.css pour une css disponible sous c:/wamp/www/css/main.css par exemple).

    D'où le fait que les php fonctionnent sans problème, mais pas les JS/CSS
    A toi de jongler entre les deux donc et définir tes matrix en fonction !
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

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

Discussions similaires

  1. $_server['document_root'] dans un lien
    Par nolmel dans le forum Langage
    Réponses: 6
    Dernier message: 17/01/2007, 01h29
  2. pb avec $_SERVER['DOCUMENT_ROOT'] pas reconnu
    Par trotters213 dans le forum Langage
    Réponses: 2
    Dernier message: 13/09/2006, 12h33
  3. [Système] Qustions sur $_SERVER['DOCUMENT_ROOT']
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 21/08/2006, 22h47
  4. [Cookies] $_server['document_root']. ne fonctionne pas
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 16/08/2006, 12h49
  5. Pb avec $_SERVER['DOCUMENT_ROOT']
    Par xtiand4 dans le forum Langage
    Réponses: 15
    Dernier message: 10/07/2006, 16h24

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