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

Symfony PHP Discussion :

Déploiement : " Class 'Doctrine_query' not found"


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut Déploiement : " Class 'Doctrine_query' not found"
    Bonsoir tout le monde,

    J'ai essayé de déployer pour la première fois un site symfony sur mon hébergement mutualisé OVH. J'ai un peu galéré sur la config pour utiliser l'accès ssh et la commande project:deploy mais maintenant ca va bien, et le lien se fait même avec la BDD !
    Par contre quand j''essaye d'accéder à mon site, j'ai le droit à une belle erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Class 'Doctrine_query' not found in /sites/monsite/lib/model/doctrine/monsiteMatableTable.class.php on line 21
    J'ai d'abord pensé à un disfonctionnement de l'autoload mais ca n'a pas l'air d'être ca vu qu'il connaît bien sfConfiguration ...

    Donc la je cherche depuis plusieurs heures et je ne trouve rien de similaire sur google.

    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Doctrine_query est un des objets utilisés par doctrine.

    Donc il ne voit pas les objets de doctrines (ce doit être un des premiers objets utilisé dans une requête, c'est celui qui prépare la requête).

    Je verrais bien un problème de cache, essaye de vider le cache, quitte à effacer tout le contenu du dossier cache directement.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut
    J'avais déjà essayer un symfony cc, sans succès.
    Là je viens de supprimer tout le contenu du dossier cache, et ca ne change strictement rien ...

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Dans le cache, tu as un fichier :
    cache/<Application>/<Environnement>/config/config_autoload.yml.php
    regarde dans ce fichier s'il y a bien une série de lignes qui parlent du plugin doctrine.

    Après vérification Doctrine utilise son propre moteur d'autoload,

    Si les lignes existent dans le config_autoload, c'est que le plugin est bien vu et donc qu'il a chargé son autoload...

    Vérifie que tous les fichiers du plugin ont correctement été copiés.

    Là, j'avoue, pour l'instant, je sèche un peu.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut
    Il y a bien des lignes qui correspondent à sfDoctrinePlugin_lib

    En regardant plus précisément, il charge tout le contenu de
    lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib
    sauf le dossier vendor, et c'est là qu'est situé, entre autres, la classe Doctrine_Query

    Donc au final c'est bien un problème d'autoload, mais comment le résoudre ?

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Non, c'est ce que j'explique dans le message précédant.

    Le core de doctrine possède son propre autoload, indépendant.

    Vérifie si tous les fichiers du plugins sont bien présent.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut
    Ah oui mince j'avais mal lu.
    Et oui tous les fichiers du plugins sont bien sur le serveur. Mais comment ca se fait que, si doctrine utilise son propre système d'autoload, tous les autres répertoires du plugin (donc à part vendor) soient bien dans l'autoload que tu m'a fais vérifier ?

    J'ai essayé d'ajouter ca à mon config/autoload.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    autoload:
      doctrine:
        name: doctrine
        path: %sf_lib_dir%/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/
        recursive: on
    Et ca marche parfaitement ...

    C'est vraiment bizarre, enfin en attendant c'est une solution, mais j'aimerais bien comprendre la source du problème car c'est pas normal de devoir rajouter ca.

  8. #8
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Parce que le fichier vendor contiens le code de doctrine, les autres ne sont que des emballages utilisés et créé par symfony.

    Donc les parties de symfony sont autoloadé par symfony, celles de Doctrine le sont par Doctrine.

    Solution intéressante.

    Je ferrais un test, tu as dans : symfony/lib/plugins/sfDoctrinPlugin/config/sfDoctrinePluginConfiguration.class.php le lancement de l'auto loader de doctrine, essaye d'y mettre un die(), pour voir s'il passe par là.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut
    Merci pour tes explications !

    J'ai essayé de mettre un die dans sfDoctrinePluginConfiguration.class.php, et il est bien pris en compte.

  10. #10
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    ???

    Alors, là, je ne comprend plus.

    Donc le fichier de configuration est lu et exécuté. Ceci veux dire que l'autoloader de Doctrine ne fonctionne pas. Reste à comprendre pourquoi, et là, je sèche.

    Il n'y a aucune raison que cela ne fonctionne pas. Sauf celle qui fait que cela ne fonctionne pas

    Tu n'as rien trouvé sur notre amis google ?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut
    Rien du tout sur Google ... J'ai cherché pendant plusieurs heures ce week end et pas moyen de trouver une solution, à part de remettre un autoload sur le dossier de doctrine.

    Je comprends vraiment pas.

  12. #12
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Une idée comme cela, si tu copies le code de l'autoloader spécifique à Doctrine dans ton configProjetct, ça donne quoi ?

    En rétablissant l'autoloader de symfony...

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Par défaut
    Je viens d'avoir le même problème et de trouver la solution....

    C'est pas Doctrine_query qu'il faut écrire mais Doctrine_Query, avec un Q majuscule.

    Le genre de petites conneries qui m'énervent...

Discussions similaires

  1. [DOM] Comment ça "Class DomDocument not found" ? (PHP5)
    Par Nullos Oracle dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/07/2007, 19h11
  2. [Zip] Class ZipArchive not found
    Par Sayrus dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 07/06/2007, 17h04
  3. classe .cls not found
    Par iznogoud36 dans le forum Erreurs - Avertissements
    Réponses: 1
    Dernier message: 08/03/2007, 00h55
  4. Réponses: 1
    Dernier message: 09/02/2007, 15h59
  5. [TOMCAT 5.0 - JSP] Load: class XXX not found
    Par Hoegaarden dans le forum Tomcat et TomEE
    Réponses: 12
    Dernier message: 20/10/2005, 10h59

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