J'ai un problème sur la façon de déterminer l'environnement de l'application pendant un cronjob. J'ai actuellement 2 environnements: un environnement de production et de test. Ils utilisent tous deux leur propre base de données.Comment déterminer l'environnement dans un cronjob
Je détermine l'environnement actuel en fonction de l'URL. Par exemple: dev.domain.com définit l'environnement sur testing et domain.com le définit en production.
Cela fonctionne parfaitement. Cependant, cela ne fonctionne pas pour cronjobs. Parce qu'un cronjob n'obtient pas de domaine.
Comment est-ce que je pourrais résoudre cela tout en gardant les choses dynamiques?
C'est ce que le code ressemble actuellement:
if($_SERVER['SERVER_NAME'] == 'dev.domain.com' || $_SERVER['SERVER_NAME'] == 'domain.local') {
define('ENVIRONMENT', 'development');
}else if ($_SERVER['SERVER_NAME'] == 'domain.com'){
define('ENVIRONMENT', 'production');
}
Merci à l'avance.
Voici ce que ma commande actuelle de cronjob ressemble à:/usr/local/bin/php /home/domain/public_html/index.php/cron/mailque comment va Je passe le nom du serveur à cela? Mais de l'autre côté, mon environnement est défini dans index.php, pas dans la fonction cronjob que j'appelle. Donc je ne pense pas que ça marchera. – JohnHeroHD
SERVER_NAME = dev.domain.com/usr/local/bin/php /home/domain/public_html/index.php/cron/mailque devrait fonctionner. –
Oui, cela a fonctionné parfaitement! Merci! – JohnHeroHD