Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
J'ai une erreur sur une appli qui fonctionne sur une autre machine, sans problème, je viens de la migrer sous un autre environnement
Voici l'erreur :
Fatal error: Uncaught exception 'Zend_Controller_Exception' with message 'No default module defined for this application' in /Applications/xampp/xamppfiles/library/ZendFramework/library/Zend/Controller/Dispatcher/Standard.php:380 Stack trace: #0 /Applications/xampp/xamppfiles/library/ZendFramework/library/Zend/Controller/Dispatcher/Standard.php(203): Zend_Controller_Dispatcher_Standard->getControllerClass(Object(Zend_Controller_Request_Http)) #1 /Applications/xampp/xamppfiles/library/ZendFramework/library/Zend/Controller/Dispatcher/Standard.php(237): Zend_Controller_Dispatcher_Standard->isDispatchable(Object(Zend_Controller_Request_Http)) #2 /Applications/xampp/xamppfiles/library/ZendFramework/library/Zend/Controller/Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #3 /Applications/xampp/xamppfiles/htdocs/1001sportifsv2/application/bootstrap.php(31): Zend_Controller_Front->dispatch() #4 /Applications/xampp/xamppfiles/htdocs/1001sport in /Applications/xampp/xamppfiles/library/ZendFramework/library/Zend/Controller/Dispatcher/Standard.php on line 380
Je précise que j'ai bien ces lignes dans l'initialiser :
public function initControllers() { $this->_front->addControllerDirectory($this->_root . '/application/default/controllers', 'default'); $this->_front->addControllerDirectory($this->_root . '/application/admin/controllers', 'admin'); }
Mais comme déjà dit le même code fonctionne trés bien ailleur...
Hors ligne
Un petit:
$this->_front->setDefaultModule('default');
devrait régler l'affaire.
Hors ligne
ça ne change rien...
J'ai aussi ça comme erreur dans apachestart.log :
/Applications/xampp/xamppfiles/bin/apachectl: line 70: ulimit: open files: cannot modify limit: Invalid argument
Hors ligne
Je n'utilise pas xampp, mais il fait un ulimit, théoriquement tous les users ont le droit de le faire sauf s'ils dépassent les valeurs système. A priori, si tu fouilles dans les fichiers de confs et de démarrage de xampp, tu devrais pouvoir trouver une ligne qui fixe le nombre max de file descriptors (un truc genre ulimit -n xxx). Si tu es en dev sur cette machine, tu peux commenter cette ligne sans scrupule (ou bien mettre une limite faible du genre 1024...)
A+, Philippe
PS : sur mac, je ne sais pas comment on change la valeur "hard" du max open files, ça serait une solution aussi de la monter...
Hors ligne
Bon je crois que je vais laisser tomber, ça me gonfle.
J'ai toujours l'erreur 'No default module defined' avec Xampp plus l'erreur ulimit (je ne vois pas ou modifier ça) et si j'utilise Mampp c'est Json qui deconne.
Le code n'est pas en cause vu qu'il tourne parfaitement sur une plateforme Zend Core.
J'aurais voulu pouvoir poursuivre le développement sur Mac, mais je ne parviens pas à avoir un environnement correct.
Si quelqu'un développe sous Mac, peut-il me dire quel environnement il utilise ?
Ceci dit, je viens de générer "ZendFrameworkExample" avec Zend Studio, et il tourne...
Donc mon code passe sans problème sous Zend Core, mais pas sous Xampp pour Mac...
Je suis perdu là...
Dernière modification par Jean-Marc Rigade (04-02-2009 10:41:13)
Hors ligne
Bonjour,
Je développe sur mac (et windows), mais j'ai recompilé moi même apache, mysql, et PHP sur mac. Postgres est installé à partir du binaire.
Je connais des gens qui codent sur mac avec mamp et ça a l'air de marcher.
A+, Philippe
PS : la compilation de PHP, Apache et Mysql est un peu longue et galère sur mac, notamment parce qu'il n'y a pas de système de package officiel, je me suis tapé la compil de pas mal de librairies, ça m'a pris presque une journée d'installer le tout alors que je suis assez calé en admin système.
Dernière modification par philippe (04-02-2009 11:06:34)
Hors ligne
J'ai trouvé ce qui me provoque l'erreur 'no default module etc... mais je ne sais pas encore pourquoi :
public function initDb() { $conf = self::$_config->general; $db = Zend_Db::factory($conf->db->adapter, $conf->db->config->toArray()); $db->query("set names 'utf8'"); // <=== CETTE LIGNE LA PROVOQUE L'ERREUR Zend_Db_Table_Abstract::setDefaultAdapter($db); $registry = Zend_Registry::getInstance(); $registry->set('m1sportifsv2', $db); }
Avec comme fichier config :
[general] db.adapter = PDO_MYSQL db.config.host = localhost db.config.username = m1sportifsv2 db.config.password = xxxxxxx db.config.dbname = m1sportifsv2
PDO et PDO_MYSQL sont bien activés...
Si je retire cette ligne : $db->query("set names 'utf8'"); ça marche !!!!!!
Quelqu'un a une expliquation ???
Dernière modification par Jean-Marc Rigade (04-02-2009 11:14:36)
Hors ligne
Si je retire cette ligne plus d'erreur, mais je retombe dans le problème que j'ai mis dans la rubrique Ajax.
Décourageant.
Hors ligne