Hi Leute.
Ich habe folgendes Problem.
Per cron-job rufe ich regelmäßig ein (lokales) php-Script auf, welches seinerseits verschiedene lokale Programme startet, um Daten zu aktualisieren.
Der Einfachheit halber habe ich den php-Scriptaufruf in ein shellscript verfrachtet, welches beispielsweise so zu starten ist:
/frei/php/markenupdate
und folgenden Inhalt hat:
#!/bin/bash
# marken-update starten
/usr/bin/php /frei/php/marken_update.php /frei/php/marken_update.config
Starte ich nun mit at 23:00 das Script /frei/php/markenupdate, dann läuft alles wie es soll. Mache ich dagegen einen cron-job daraus, so wird die UTF-8-Kodierung innerhalb der externen Programmaufrufe zu einem Problem.
Bei meinen Tests und vor allem mit Hilfe des Forums habe ich schon einen Teilerfolg erzielen können: Ich weiß nun, dass es mit den Umgebungsvariablen zusammen hängt.
(Siehe: http://www.tutorials.de/tutorials219310.html)
Wie kann ich nun einen Programmaufruf von php aus starten und Umgebungsvariablen mitgeben?
In meinem PHP-Script erfolgen die Programmaufrufe derzeit so:
$Befehl = " markit_imp -to".$ImportModus." ";
$Befehl .= "-d".$MySql_MarkitDB." ";
$Befehl .= "-h".$MySql_Host." ";
$Befehl .= "-u".$MySql_User." ";
$Befehl .= "-q".$Datenquelle." ";
$Befehl .= "-p".$MySql_Pass." ";
$Befehl .= $ImpFileName." ".$ExpFileName." ".$LogFileName;
$Ergebnis = `$Befehl`;
Mein Versuch, den Befehl direkt um die Umgebungsvariable zu ergänzen, etwa so
$UMGEBUNGSVARIABLE = "/usr/bin/env LANG=de_DE.UTF-8 ";
$Befehl = $UMGEBUNGSVARIABLE . " markit_imp -to".$ImportModus." ";
....
lieferte leider auch nicht den gewünschten Erfolg.
Hat da evtl noch einer von Euch eine Idee?
Vielen Dank
vop
Ich habe folgendes Problem.
Per cron-job rufe ich regelmäßig ein (lokales) php-Script auf, welches seinerseits verschiedene lokale Programme startet, um Daten zu aktualisieren.
Der Einfachheit halber habe ich den php-Scriptaufruf in ein shellscript verfrachtet, welches beispielsweise so zu starten ist:
/frei/php/markenupdate
und folgenden Inhalt hat:
#!/bin/bash
# marken-update starten
/usr/bin/php /frei/php/marken_update.php /frei/php/marken_update.config
Starte ich nun mit at 23:00 das Script /frei/php/markenupdate, dann läuft alles wie es soll. Mache ich dagegen einen cron-job daraus, so wird die UTF-8-Kodierung innerhalb der externen Programmaufrufe zu einem Problem.
Bei meinen Tests und vor allem mit Hilfe des Forums habe ich schon einen Teilerfolg erzielen können: Ich weiß nun, dass es mit den Umgebungsvariablen zusammen hängt.
(Siehe: http://www.tutorials.de/tutorials219310.html)
Wie kann ich nun einen Programmaufruf von php aus starten und Umgebungsvariablen mitgeben?
In meinem PHP-Script erfolgen die Programmaufrufe derzeit so:
$Befehl = " markit_imp -to".$ImportModus." ";
$Befehl .= "-d".$MySql_MarkitDB." ";
$Befehl .= "-h".$MySql_Host." ";
$Befehl .= "-u".$MySql_User." ";
$Befehl .= "-q".$Datenquelle." ";
$Befehl .= "-p".$MySql_Pass." ";
$Befehl .= $ImpFileName." ".$ExpFileName." ".$LogFileName;
$Ergebnis = `$Befehl`;
Mein Versuch, den Befehl direkt um die Umgebungsvariable zu ergänzen, etwa so
$UMGEBUNGSVARIABLE = "/usr/bin/env LANG=de_DE.UTF-8 ";
$Befehl = $UMGEBUNGSVARIABLE . " markit_imp -to".$ImportModus." ";
....
lieferte leider auch nicht den gewünschten Erfolg.
Hat da evtl noch einer von Euch eine Idee?
Vielen Dank
vop