Zend Framework Autochargement ne fonctionne pas lors du déploiement
-
01-10-2019 - |
Question
Mon site web basé sur Zend fonctionne parfaitement sur mon localhost (en utilisant Mac). Mais quand je déploie sur une société d'hébergement web linux, je reçois les erreurs suivantes:
Sur la page d'index qui tentent de lister mes annonces en appelant une ressource où la sélection est la suivante:
Erreur fatale: Classe 'Lintottar_Model_Resources_Ad' introuvable dans /www/webvol8/4v/7e33wem4920cqpg/lintottar.se/library/My/Model/Abstract.php en ligne 79
Sur une autre page l'aide de vue semble être en cours d'exécution - la mise en page principale est rendu, mais je reçois l'erreur suivante: Erreur fatale: Classe « Lintottar_Form_Search_Simple » ne se trouve pas dans /www/webvol8/4v/7e33wem4920cqpg/lintottar.se/application/modules/lintottar/views/helpers/SearchForm.php en ligne 16
Voici mon ini d'application:
Y at-il un problème avec le chargement automatique? "Que pouvais-je faire?" Je ne peux pas comprendre ce qui ne va pas car il fonctionne sur mon ordinateur local.
Merci pour votre aide!
KR
Josef
La solution
Ah je vois ce que le problème est une fois que vous montriez votre structure de répertoire. Le problème est que ces répertoires (comme resources
et ad
et search
) doivent être en majuscules (par exemple. Resources
). La raison pour laquelle cela fonctionne sur votre Mac est parce que même si OS X est UNIX basée et sensible à la casse, si elle ne trouve pas un nom de fichier correspondant, il va essayer insensible à la casse.
Donc, fondamentalement changer vos noms de dossier pour refléter les noms de classe réelle, et cela devrait fonctionner. Prenez note que les dossiers racine dans le répertoire des modules tels que models
, forms
, controllers
et views
devraient encore être en minuscules. Le chargeur automatique de ressources du module est configuré de cette façon.