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

Apache Discussion :

Problème de configuration apache pour les include dans un alias


Sujet :

Apache

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut Problème de configuration apache pour les include dans un alias
    Bonsoir,

    Après plein de tests infructueux je me tourne vers vous pour ce problème si la solution existe:

    Configuration: le serveur web (apache, mysql,..... est dans un répertoire de mon C) c:/serveur
    mes sites sont dans un autre repertoire: c:/www/site1, c:/www/site2, .....

    Comme certaine fonctions que j'utilise sont valables pour plusieurs site je me suis dit mettons cela dans un répertoire commun du serveur pour tous les site.
    Donc j'ai mis un repertoire: "c:/serveur/fonction_communes" mais après avoir configuré mon httpd.con et mon host pour éviter le localhost dans les url et être dans une configuration serveur me vla partie dans les essais et la rien impossible de faire une include dans mon alias.

    voila la partie de mon httpd.conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Alias /fonction_communes "c:/serveur/fonction_communes"
    <Directory "c:/serveur/fonction_communes">
      AllowOverride all
      Options IncludesNOEXEC
      Options FollowSymLinks
      Options -Indexes
      Order allow,deny
      Allow from all
    </Directory>
    NameVirtualHost 127.0.0.1
    <VirtualHost 127.0.0.1>
    	ServerName pratique-astuces.fr
    	ServerAlias pratique-astuces.fr
    	DocumentRoot "c:/www/pratique-astuces.fr"	
    	<Directory "c:/www/pratique-astuces.fr">
    	Options -Indexes
    	Order allow,deny
        Allow from all
    	</Directory>
    </VirtualHost>
    Donc à la racine d'un des sites j'ai mis une page avec include:
    http://pratique-astuces.fr/test_inclus_alias.php
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    include('fonction_communes/page_test_incluse.htm');
    ?>

    et cela ne marche pas (page blanche)

    par contre dans l'alias avec ce lien:
    http://pratique-astuces.fr/fonction_...clus_alias.php
    et ce code:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    include('page_test_incluse.htm');
    ?>
    la le résultat est bon donc je ne comprend plus qu'ai je oublié???

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Il y a confusion : l'inclusion de scripts ne se fait pas en HTTP (enfin, c'est possible mais vaudrait mieux éviter ...) mais bien directement via le système de fichier. Ce n'est donc pas un alias qu'il faut créer au niveau de la configuration d'Apache mais plutôt la directive include_path qu'il faudrait adapter :

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    Merci de la réponse,

    effectivement je peut le faire dans le httpd.conf, mais dans quelle zone faut t il rajouter cette directive dans l'alias ou bien avant?

    merci de la précision.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Si vous devez appliquer le même include_path à l'ensemble de vos sites, mettez-la dans le contexte global (en fin de fichier par exemple). En revanche s'il doit être propre à chacun des virtualhosts, placez-la dans chacun d'eux.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    Re,

    Je dois vraiment m y prendre comme un pied, mais cela ne fonctionne pas,

    J'ai mis un .htaccess à la racine d'un site pas bon,

    j'ai mis un .htaccess à la racine du sous site pas bon,

    j'ai testé également dans le httpd.conf et ne fonctionne pas non plus (dans l'alias, dans le virtual host, dans l'alias, supression de l'alias, .... et rien ne foncionne) je ne sais plus quoi tester!!

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par e-m.guillaume
    J'ai mis un .htaccess à la racine d'un site pas bon,

    j'ai mis un .htaccess à la racine du sous site pas bon,
    Ça dépend de votre configuration et plus précisément de la valeur AllowOverride sur le répertoire en question. Elle doit être à, au moins, Options ici (All permettant tout). (visiblement omise d'après la configuration donnée initialement, cette dernière utilise la valeur par défaut qui est probablement insuffisante)

    Citation Envoyé par e-m.guillaume
    j'ai testé également dans le httpd.conf et ne fonctionne pas non plus (dans l'alias, dans le virtual host, dans l'alias, supression de l'alias, .... et rien ne foncionne) je ne sais plus quoi tester!!
    L'alias ne sert à rien ... Comment avez-vous testé ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    re,

    En faite, j'ai supprimé l'alias, rajouté dans le httpd.conf une directive:
    <Directory "c:/serveur/fonction_communes">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
    </Directory>
    puis à la fin du fichier (pour que cela soit valable pour tous les sites la directive:
    php_admin_value include_path ".;c:/serveur/fonction_communes"
    J'ai redémarré le serveur apache et refait l'appel de la page et rien.
    Donc j'ai mis en commentaire les ligne rajoutés dans le httpd.conf (redémarage du serveur apache et je suis passé au tests via .htaccess en faisant deux manipes une première j'ai rajouté en première ligne dans un .htaccess existant sur l'un des site la commande:
    php_value include_path ".;c:/serveur/fonction_communes"
    toujours rien alors j'ai mis un .htaccess avec cette même ligne dans à la racine du répertoire c:/serveur/fonction_communes (bien sur en inhibant dans le précédent la même ligne et la toujours rien.

    Petite précision apache tourne sur une machine en windows XPPro cela est peut-être la raison??

    Merci encore de votre aide.

    Voila les erreurs log. si cela peut aider à la compréhension du problème:
    [Sat Apr 04 09:16:00 2009] [error] [client 127.0.0.1] PHP Warning: include(fonction_communes/page_test_incluse.htm) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in C:\\www\\pratique-astuces.fr\\test_inclus_alias.php on line 2
    [Sat Apr 04 09:16:00 2009] [error] [client 127.0.0.1] PHP Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'fonction_communes/page_test_incluse.htm' for inclusion (include_path='.;C:/serveur/fonction_communes') in C:\\www\\pratique-astuces.fr\\test_inclus_alias.php on line 2
    avec la configuration httpd.conf:
    <Directory "c:/serveur/fonction_communes">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
    </Directory>
    php_admin_value include_path ".;C:/serveur/fonction_communes"

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Si l'include_path est ".;C:/serveur/fonction_communes" alors l'inclusion doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include('page_test_incluse.htm');
    Si l'include_path est ".;C:/serveur" alors l'inclusion doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include('fonction_communes/page_test_incluse.htm');

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    Re,

    Effectivement cela fonctionne parfaitement maintenant et cela pour tous les sites j'aurai du pensé à cela que cela donnait la référence complète avec le nom du répertoire!!!

    Merci JULP

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

Discussions similaires

  1. [applet]utilser des infos pour les traiter dans une servlet
    Par jeromejanson dans le forum Applets
    Réponses: 5
    Dernier message: 07/03/2010, 23h22
  2. Réponses: 2
    Dernier message: 21/05/2006, 14h02
  3. [EasyPHP] Configurer Apache pour des accées distants
    Par Fathallah dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 09/03/2006, 19h06
  4. Réponses: 6
    Dernier message: 28/09/2004, 16h47
  5. Règles pour les #include
    Par julian_ross dans le forum MFC
    Réponses: 2
    Dernier message: 24/02/2004, 09h57

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