Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-07-2011 14:14:18

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

getenv('APPLICATION_ENV') retourne FALSE en ligne de commande

Bonjour,
J'essaie de lancer un batch en ligne de commande (windows xp).
Voici ma config:

.htaccess:

Code:

SetEnv APPLICATION_ENV dev

index.php:

Code:

// 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:

Code:

SetEnv APPLICATION_ENV "dev"

Mon script batch toto.php:
echo getenv('APPLICATION_ENV');exit;

Je lance mon script batch:

Code:

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

 

#2 23-07-2011 11:44:24

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: getenv('APPLICATION_ENV') retourne FALSE en ligne de commande

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

 

#3 27-07-2011 19:36:27

bgy
Membre
Lieu: Aix en Provence
Date d'inscription: 23-02-2009
Messages: 14
Site web

Re: getenv('APPLICATION_ENV') retourne FALSE en ligne de commande

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 :

Code:

export APPLICATION_ENV=cli
php toto.php

Ou alors récuperer la valeur présente dans ton .htaccess pour setter ton env

Code:

// 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');

http://borisguery.com | Fork me on Github | Follow me on Twitter | Check out my tips on Coderwall | More About me

Hors ligne

 

#4 30-07-2011 11:40:52

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: getenv('APPLICATION_ENV') retourne FALSE en ligne de commande

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages