Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Cette belle matinée a été pour moi au service d'un "problème" que je ne parviens pas à résoudre.
A chaque requête (type : http://localhost/monProjet/public/) mon application se charge deux fois.
J'ai installé un compteur qui s'incrémente à chaque passage dans le contrôleur index (par hasard) et le problème est semblable sur tous les autres.
D'où peut venir se problème s'il vous plaît? Même en enlevant les éléments ajoutés dans mon bootstrap rien ne change. Un redirection sur l'url courante se fait constamment.
Une idée?
Exemple avec le code :
class IndexController extends Zend_Controller_Action { public function indexAction() { $captcha = new monProjet_CaptchaProtection; $captcha->addRequest(); } } class monProjet_CaptchaProtection { public static function getInstance($router) { $defaultNamespace = new Zend_Session_Namespace('Default'); if (!isset($defaultNamespace->numberOfBadRequests)) { $defaultNamespace->numberOfBadRequests = 0; } echo "bad requests : ", $defaultNamespace->numberOfBadRequests; if($defaultNamespace->numberOfBadRequests>5){ $route = new Zend_Controller_Router_Route('*', array('controller' => 'index', 'action' => 'index')); $router->addRoute('default', $route); } } public static function addRequest() { $defaultNamespace = new Zend_Session_Namespace('Default'); $defaultNamespace->numberOfBadRequests++; } }
Merci d'avance et bonne journée à ceux qui lisent ce message,
Cdt,
Omageus
Dernière modification par omageus (14-06-2010 11:33:20)
Hors ligne
Après observation complémentaire, il semblerai que le problème vienne de ZFDebug
protected function _initZFDebug(){ $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->registerNamespace('ZFDebug'); $options = array( 'plugins' => array('Variables', 'File' => array('base_path' => '/path/to/project'), 'Memory', 'Time', 'Registry', 'Exception') ); # Instantiate the database adapter and setup the plugin. # Alternatively just add the plugin like above and rely on the autodiscovery feature. if ($this->hasPluginResource('db')) { $this->bootstrap('db'); $db = $this->getPluginResource('db')->getDbAdapter(); $options['plugins']['Database']['adapter'] = $db; } # Setup the cache plugin if ($this->hasPluginResource('cache')) { $this->bootstrap('cache'); $cache = $this->getPluginResource('cache')->getDbAdapter(); $options['plugins']['Cache']['backend'] = $cache->getBackend(); } $debug = new ZFDebug_Controller_Plugin_Debug($options); $this->bootstrap('frontController'); $frontController = $this->getResource('frontController'); $frontController->registerPlugin($debug); }
C'est ce code qui, dans mon bootstrap, provoque les doubles redirections
Hors ligne
Solution :
http://code.google.com/p/zfdebug/issues … 8225389ca5
Ceci est un bug de ZFDebug
Hors ligne