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

Zend Framework PHP Discussion :

Problème d'AutoLoad entre environnements - Fatal error: Class not found in [ZF 1.11]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de eaglesnipe
    Homme Profil pro
    Ingénieur Etudes et Développement
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes et Développement
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Par défaut Problème d'AutoLoad entre environnements - Fatal error: Class not found in
    Bonjour,

    Je viens à vous car je rencontre un problème tout à fait étrange.

    Je dispose en effet d'une application Zend qui tourne parfaitement bien depuis mon localhost (Windows):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    http://localhost/stats/public/index/index
    127..0.0.1/stats/public/index/index
    ou depuis l'IP de ma machine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    10.xxx.xxx.xxx/stats/public/index/index
    Dans ces conditions, tout tourne donc à merveille.

    J'ai alors tenté un déploiement de l'application sur notre serveur de pré-production (Linux) afin de la mettre à disposition. Et là, c'est le drame.

    En effet, même si l'application se lance "normalement", plus aucune classe n'est dynamiquement chargée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Class 'Application_Model_Mapper_Stats_Function' not found in [...]/application/controllers/HeaderController.php on line 27
    J'ai beau tourner, tourner et re-tourner, je n'arrive pas à mettre la main sur le problème. Pourquoi diantre tout marche bien sur un environnement et plus rien ne fonctionne sur un autre ?

    J'ai trouvé des problèmes similaires sur la Toile (bien bien vieux pour certains) mais qui n'apportent aucune solution. Notamment :

    http://stackoverflow.com/questions/1...ot-being-found

    Si quelqu'un passe par là et aurait une suggestion, ce serait avec grand plaisir !!

    Merci d'avance !

  2. #2
    Membre confirmé Avatar de eaglesnipe
    Homme Profil pro
    Ingénieur Etudes et Développement
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes et Développement
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Par défaut
    Bonjour again,

    Dans la suite des investigations, il semblerait que ce soient toutes les classes contenues dans un sous-dossier de mon arborescence qui ne sont pas chargées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    APPLICATION_PATH/models/mappers/xxx/maclasse.php
    par exemple (Namespace_Model_Mapper_Xxx_Maclasse n'est pas trouvée)

    Tout ce qui se situe dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    APPLICATION_PATH/models/mappers
    est correctement auto-loadé... (Namespace_Model_Mapper_Uneclasse est trouvée)

    Quelqu'un aurait-il une suggestion ?
    Et pourquoi ce comportement différent entre 2 machines ?

    Merci pour vos réponses.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Par défaut
    Citation Envoyé par eaglesnipe Voir le message
    Bonjour again,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    APPLICATION_PATH/models/mappers/xxx/maclasse.php
    par exemple (Namespace_Model_Mapper_Xxx_Maclasse n'est pas trouvée)
    Problème de casse. Windows ne la prend pas en compte alors que Linux oui

  4. #4
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonsoir,
    Je dirais plus, qu'il s'agit d'un problème de déclaration de ressources :

    Quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $autoloadModule->addResourceType('mapper', 'models/mappers', 'Model_Mapper');
    Par contre, les dossiers et sous dossiers dans le dossier mappers doivent commencer par une majuscule

  5. #5
    Membre confirmé Avatar de eaglesnipe
    Homme Profil pro
    Ingénieur Etudes et Développement
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes et Développement
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Par défaut
    Merci shadypierre et 5h4rk pour vos réponses !

    @5h4rk : mes ressources sont correctement déclarées, le problème ne vient pas de là. En revanche :

    Par contre, les dossiers et sous dossiers dans le dossier mappers doivent commencer par une majuscule
    Bien vu ! Il s'agit exactement de cela ! J'ai renommé tous mes sous-dossiers en y ajoutant une majuscule et mes classes sont enfin correctement chargées ! ^^

    @shadypierre : C'était donc bien un problème de casse au niveau du nom des sous-dossiers. Satané Windows ! I' Pouvait pas réagir correctement avant que je déploie !! Nan mais ! ^^

    Merci bien à vous deux de votre précieuse aide !

    Un autre problème se pose maintenant (mon .htaccess n'est plus interprété) mais j'ouvrirai un autre post dédié si besoin !

    Thanks again !

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

Discussions similaires

  1. Fatal error : class not found
    Par 1-Dicible dans le forum Zend Framework
    Réponses: 51
    Dernier message: 05/05/2011, 09h49
  2. [2.x] Fatal error: Class not found
    Par sybil dans le forum Symfony
    Réponses: 8
    Dernier message: 04/04/2011, 10h16
  3. Fatal error class not found.
    Par billyrose dans le forum Langage
    Réponses: 4
    Dernier message: 23/04/2009, 17h22
  4. Réponses: 3
    Dernier message: 10/04/2009, 17h29
  5. Eclipse 3.4.0: type error class not found : XrayLogger
    Par Ouaich75 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/10/2008, 15h31

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