PHP Cronjob und Servervariablen

Nö. Ich hab ne Konstante APPLICATION_ENV in der entweder development oder production steht.

PHP:
if(APPLICATION_ENV == 'development')
{
   // mach was
}
else
{
  // mach was anderes
}

und wenn du aus versehen mal die Datei mit auf den Liveserver kopierst stehen die Fehlermeldungen da :)
Aber nun verstehe ich auch deinen Ansatzpunkt von vorhin

PHP:
if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'){
    define('APPLICATION_ENV', 'development')
}else{
    define('APPLICATION_ENV', 'production')
}
 
und wenn du aus versehen mal die Datei mit auf den Liveserver kopierst stehen die Fehlermeldungen da :)
Nö. Die Config-Dateien liegen auf dem Server und werden nur bei Änderungen angefasst. Bei jedem Deploy werden die auf dem Server hinterlegten Config-Dateien in das Source-Code-Verzeichnis kopiert und überschreiben die dev-Configs.
 
warum nicht einfach so?
redirectdenken.gif


Gehe zurück zu Post #1 ;)

Der Threadersteller ruft seinen Cronjob nicht über HTTP auf, drum mein Vorschlag in Post #4, das zu tun. Ohne HTTP gibts auch keinen HTTP-Header.
 
Hi,

per Cronjob wird eine Textmail verschickt. In dieser Mail gib es einen Link.
Da ich einen Testserver und Liveserver habe brauchte ich jeweils den Inhalt der Variablen $_SERVER['HTTP_HOST']
Diese Variable habe ich bei einem Cronjob ja nicht zur Verfügung. Zum testen des Cronskriptes will ich ja nicht jedesmal den link ändern

https://[B]testserver.local[/B]/datei.html -> https://[B]example.org[/B]/datei.html

Kann ich das irgendwie lösen, das das auch dynamisch passiert, wie durch die o.g. Servervariable?

Du musst beim Aufrufen der Datei einfach eine weitere Information mitliefern, anhand der du dann dein Script verändern kannst. So kann man zum Beispiel HTTP_HOST einfach selber setzen.

Ein ganz simples Beispiel:
PHP:
<?php

if(isset($_SERVER['argv'][1])) {
	$_SERVER['HTTP_HOST'] = $_SERVER['argv'][1];
}

var_dump($_SERVER);
?>

und dann wird die Datei wie folgt aufgerufen: "foo.php https://testserver.local"

Du kannst aber natürlich auch anhand des Parameters einfach unterschiedliche Config-Dateien laden.