Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je suis relativement nouveau dans l'univers de Zend Framework. Je suis actuellement en train de mettre en place des envois d'emails asynchrones avec l'aide de crons jobs.
Je suis tombé sur ce tutoriel http://antoine.hordez.fr/2010/09/18/tac … framework/
et c'est au niveau de l'execution php en ligne de commande que je rencontre des soucis. Dans le fichier application/Bootstrap.php l'index SERVER_NAME de la variable $_SERVER n'est pas trouvé. Et effectivement, lorsque je var_dump $_SERVER elle ne contient ni SERVER_NAME, ni HTTP_HOST. Cela créé donc des erreurs au démarrage des sessions.
D'ou pensez vous que peut venir cette erreur ?
Je me demandais si il n'y avait pas la possibilité de ne pas charger certains fichiers / classes parce que par exemple pour le cron job, je n'ai pas besoin des sessions.
Bien cordialement et merci d'avance !
Hors ligne
Les valeurs de HTTP_HOST, etc. sont fournies à la fois par le serveur Web et le client web pour certaines données (ex: HTTP_REFERER).
Dans le contexte du CLI, il n'y a aucune référence à du "web". PHP fonctionne dans un contexte de ligne de commande, toutes les informations liées au web ne sont pas fournies (cookie, referer, session (lié au cookie), etc.).
Mais comme $_SERVER n'est qu'un tableau, tu peux définir les valeurs toi même. Basiquement :
[lang=php] $_SERVER["HTTP_HOST"] = "www.z-f.fr"; $_SERVER["SERVER_NAME"] = "www.z-f.fr"; // etc. De même pour les POST, GET, COOKIE, etc.
Dernière modification par Blount (16-05-2014 16:34:08)
Hors ligne
Merci pour cette réponse, effectivement cela a réglé mes problèmes concernant les infos serveur mais j'ai l'impression que l'appel à l'autoloader n'instancie rien
[lang=php] require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance();
car le BootstrapAbstract ne trouve pas jquery par exemple.
[lang=shell]PHP Fatal error: Uncaught exception 'Zend_Application_Bootstrap_Exception' with message 'Unable to resolve plugin "jquery"; no corresponding plugin with that name' in /var/www/myapp/2014-04-03-17h00/library/Zend/1.12.3/Zend/Application/Bootstrap/BootstrapAbstract.php:330
Pourtant j'utilise le même fichier de config que pour mon application
Hors ligne