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 :

pb include_path apache


Sujet :

Apache

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 74
    Par défaut pb include_path apache
    Bonjour à tous voila, je suis webmaster et je voudrai utiliser include_path pour ne plus devoir rentré le chemein entier dans mes scripts.

    IKX III - Pentium4 - 3Ghz 2048 Fedora 4 Plesk 8
    voila ce que j'ai mis dans le php.ini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Paths and Directories ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;
     
    ; UNIX: "/path1:/path2"
    ;include_path = ".:/php/includes:/var/www/vhosts/monserveur/httpdocs/include"
    ;
    ; Windows: "\path1;\path2"
    ;include_path = ".;c:\php\includes/"
     
    include_path = ".:"
    qd je fais un phpinfo() j'ai bien
    DOCUMENT_ROOT /var/www/vhosts/monserveur/httpdocs

    J'ai placé un repertoire include dans le repertoire httdocs, il contient toutes les class que j'appel dans mes scripts.
    Sachant que certain class peuvent appeler d'autre class
    exemple la script etablir_recherche.php :
    il appel la class resultat.class.php, qui elle meme appel la class recherche.

    Donc voila mon premier probleme est de savoir si mon include_path est correcte?
    sacahant que le message d'erreur que j'ai est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     PHP Warning:  main() [<a href='function.main'>function.main</a>]: open_basedir restriction in effect. File(/bdd.class.php) is not within the allowed path(s): (/var/www/vhosts/monserveur/httpdocs:/tmp) in /var/www/vhosts/monserveur/httpdocs/contenu/centre/scripts/recherche/indexRecherche.php on line 2
    Le second point est que j'utilisé au par avant des include_once, des require_once et des include

    Je voudrais mettre uniquement des include pour simplifier le code, est ce que c'est réalisable?

    En attendant votre aide
    a tres vite

  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
    Citation Envoyé par Dargos
    Donc voila mon premier probleme est de savoir si mon include_path est correcte?
    Votre erreur est liée à l'activation de la directive open_basedir. Si vous souhaitez utiliser un chemin complet (conseillé) vous pouvez vous baser sur $_SERVER['DOCUMENT_ROOT'].

    Citation Envoyé par Dargos
    Je voudrais mettre uniquement des include pour simplifier le code, est ce que c'est réalisable?
    Avec find et sed ça devrait être possible avec quelque chose dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find /répertoire_de_base -name "*.php" -exec sed -i 's/require/include/g' {} \;

    Julp.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 74
    Par défaut
    merci de ta réponse mais à vrai dire je n'ai pas tout compris, peut tu etre un peu plus explicite?

    voila ce que j'ai dans mon open_besedir avec le phpinfo()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    open_basedir /var/www/vhosts/monserveur/httpdocs:/tmp
    Voila si quelqu'un peut m'aider, merci bcp

  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
    Les fichiers auxquels vous souhaitez accéder (include, require, fopen, ...) ne font pas partie des répertoires suivants (et sous-répertoires) :
    /var/www/vhosts/ik45017.ikexpress.com/httpdocs, /tmp
    N'y aurait-il pas une erreur dans le chemin suivant :
    /bdd.class.php
    (voir l'erreur dans votre premier message).


    Cordialement, Julp.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 74
    Par défaut
    je ne sais pas pourquoi il me met un "/" a "/bdd.class.php"
    car mes include sont : include("bdd.class.php");

    j'ai essayé de rajouter le chemin dans le php.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php_admin_value open_basedir "/var/www/vhosts/monserveur/httpdocs:/tmp:/var/www/vhosts/monserveur/httpdocs:/include"
    j'ai testé avec un "/" à la fin "....:/include/" mais ca marche pas

    j'ai fait pareil sur le httpd.include en ajoutant un "/" pas plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include_path = ".:/php/includes:/var/www/vhosts/monserveur/httpdocs/include
    biensur à chq fois je relance apache

    Le message d'erreur est :

    PHP Warning: main() [<a href='function.main'>function.main</a>]: open_basedir restriction in effect. File(/bdd.class.php) is not within the allowed path(s): (/var/www/vhosts/monserveur/httpdocs:/tmp:/var/www/vhosts/monserveur/httpdocs:/include) in /var/www/vhosts/monserveur/httpdocs/contenu/centre/scripts/recherche/indexRecherche.php on line 2

    Merci de ton aide

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 74
    Par défaut
    Bonjour à tous,
    voila j'ai fait pleins de tests, et je me suis apercu avec phpinfo() que mon include_path n'etait pas pris en compte, j'ai arrangé cela.

    de plus dans mon php.ini le open_basedir est en commentaire,
    je le gere dans le http.include.

    les includes marchent du coup pour les fichier ne faisant pas appel eux meme à d'autre include, je vous explique.

    dans index.php j'appel avec des includes bdd.class.php et pages.class.php

    l'appel de bdd.class.php ne pose pas de probleme, par contre page.class.php oui, car cette class contient un include vers une autre class.

    Ca me met tjrs le meme probleme cad :
    open_basedir not within allowed path (s) etc ....

    Comment faire pour debugé cela , merci de votre aide ...

Discussions similaires

  1. Tutoriels pour Apache
    Par Marc Lussac dans le forum Apache
    Réponses: 8
    Dernier message: 11/11/2009, 20h10
  2. [Apache][TomCat] Problème avec mod_jk
    Par formentor dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 21/06/2003, 20h41
  3. [Kylix] problème avec websnap dso apache
    Par RezzA dans le forum EDI
    Réponses: 2
    Dernier message: 02/06/2003, 16h31
  4. Réponses: 6
    Dernier message: 28/10/2002, 11h34
  5. Tomcat + Apache-SOAP
    Par lucho31 dans le forum Services Web
    Réponses: 3
    Dernier message: 17/10/2002, 09h55

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