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 :

include de include


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Par défaut include de include
    hello,

    j'ai l'impression de buter sur un truc débile...

    voilà j'ai des fichiers .php qui appellent d'autres fichiers php

    wwroot:

    agenda.php:
    [...] require_once('couche1/MaClasse1.class.php');

    couche1:
    MaClasse1.class.php:
    [...] require_once('generated/MaClasseGeneree1.class.php');

    couche1/generated:
    MaClasseGeneree.class.php

    (les noms de fichiers sont sans interet.)

    bizarrement cette manière de déclarer les includes me parait super intuitive et je n'ai pas specialement envie d'en changer. En effet, ce setup fonctionne depuis des années sans histoires à la fois en dev sur mon windows (xamp) et en prod sur freeBSD.
    Or là j'essaie mon appli php sur un ubuntu server 8.04 installé ce matin et ca me crache une erreur comme quoi 'generated/MaClasseGeneree1.class.php' n'a pas pu etre inclu. Dans la faq php il est indiqué qu'il est reco d'utiliser un $_SERVER['DOCUMENT_ROOT'] dans le nom des fichiers à inclure. autre option: utiliser le autoload j'ai vu...
    Bon ca me gonfle de modifier ts les fichiers php, updater ttes les versions qui sont en prod à droite à gauche, lancer des scripts de regression et blablabla

    juste pour ca...

    j'ai raté qqch? je suis vraiment obligé de modifier tous mes fichiers php? je préfèrerais éviter

    il faut modifier qqch dans php.ini pour que php fasse des includes "intelligents" ?

    si qqn à une idée...

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    Si vraiment t'es un gros (mais alors GROS) porc de la programmation, tu peux toujours créer des répertoire virtuels à base de ln -s dans les répertoires de l'arborescence de ton site (foulala, il est tard) !

    Mis à part ça, je n'ai personnellement pas de solution normale à proposer... Donc option a ne considérer qu'en désespoir de cause...

  3. #3
    Membre éclairé

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Par défaut
    merci comode pour le tip

    et donc non je suis qd mm pas un tel gros porc désolé

    ca m'étonnait aussi cette histoire.

    en fait je suis tombé dans un trap classique (forcement)

    sur un include('monFichier.php)
    alors que dans le filesystem, le fichier s'appelle
    monfichier.php


    le coup en traitre sur la casse

    => evidemment sous windows ca passe nickel, mais sous ubuntu plus du tout

    ce qui m'étonne que c'est qu'il n'y ait jms eu de pb sous freeBSD

    qqn a une idée pourquoi? y-a-t'il une directive pour forcer la sensibilité à la casse dans le php.ini qui aurait été activée sur freeBSD?

    ca me dirait bien de comprendre là j'avoue

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    N'est-il pas possible que tu ais copié tes fichiers via un système Windows qui lui aurait pu modifier les majuscules dans tes nom de fichiers (vu qu'il a du mépris pour la case) ?

    Même si ça ne me parrait pas très probable, j'ai jamais vu un linux/unix qui n'était pas 100% case sensitive et j'ai peine a croire que l'on puisse le configurer de la sorte...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2008
    Messages : 106
    Par défaut
    Et si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php include('./monFichier.php'); ?>
    Qu'est ce que cela donne ?
    En tout cas je te conseille d'utiliser autoload comme cela t'a vraisemblablement été conseillé

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/04/2010, 16h44
  2. Warning: include() [function.include]: Failed opening
    Par FotoXe33 dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2009, 18h49
  3. include qui include pas.
    Par chaps31 dans le forum Langage
    Réponses: 2
    Dernier message: 01/10/2008, 17h34
  4. Includes d'includes.. ?
    Par Elendill dans le forum Langage
    Réponses: 13
    Dernier message: 02/01/2007, 22h16
  5. include et included (?)
    Par fguigui dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2006, 15h55

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