Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'essaie de lancer un batch en ligne de commande (windows xp).
Voici ma config:
.htaccess:
SetEnv APPLICATION_ENV dev
index.php:
// Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'www'));
Dans chacun de mes vhosts j'ai ajouté la directive:
SetEnv APPLICATION_ENV "dev"
Mon script batch toto.php:
echo getenv('APPLICATION_ENV');exit;
Je lance mon script batch:
php toto.php
Et rien ne s'affiche, getenv('APPLICATION_ENV') retourne FALSE.
Par contre en http j'accede bien a la valeur APPLICATION_ENV.
Je ne sais pas comment faire.
Hors ligne
Plus simplement,
comment faites vous pour récupérer la valeur de APPLICATION_ENV dans un traitement BATCH en ligne de commande ?
David
Hors ligne
c'est tout à fait normal, php en cli est indépendant d'apache, il ne va pas "parser" ton fichier .htaccess, ni même récupérer ces valeurs.
Deux solutions s'offre à toi :
export APPLICATION_ENV=cli php toto.php
Ou alors récuperer la valeur présente dans ton .htaccess pour setter ton env
// Define application environment $cmd = 'grep APPLICATION_ENV ' . APPLICATION_PATH . '/../htdocs/.htaccess | cut -d\ -f3'; defined('APPLICATION_ENV') || define('APPLICATION_ENV', ($env = trim(`$cmd`)) ? $env : 'production');
Hors ligne
Merci beaucoup pour ton aide.
Je n'ai absolument rien trouvé à ce sujet sur Google.
A croire que personne ne lance de batches avec le Zend Framework.
Y'a surement une autre méthode que je connais pas.
++
Hors ligne
Pages: 1