Hi,
folgendes Problem: Ich will in einer Datei die von einem Crontab aufgerufen wird eine andere Datei (Diese baut die Verbindung zur Datenbank auf) includen. Ohne Crontab funktioniert es, aber mit Crontab findet er anscheinend die Datei nicht obwohl diese sich im selben Ordner befindet.
Weiss jmd Rat?
Crontab + Include
gepostet vor 18 Jahre, 2 Monate von pHoEnIx-sTyLe
gepostet vor 18 Jahre, 2 Monate von None
Geprüft ob die Rechte stimmen?
Der Cronjob hat eventuell einen anderen User.
Der Cronjob hat eventuell einen anderen User.
gepostet vor 18 Jahre, 2 Monate von pHoEnIx-sTyLe
Liegt nicht an den Rechten. ist über root eingestellt. Zudem funktioniert es wenn ich den ganzen code zum connecten einfüge, was mir jedoch auf dauer zu umständlich ist.
gepostet vor 18 Jahre, 2 Monate von Mudder
includest du die Datei über den selben Pfad wie du sie im crontab aufrufst? Also kein relativen Pfad sondern ein absoluten.
gepostet vor 18 Jahre, 2 Monate von None
Was wirft Crontab für einen Output im Log aus?
gepostet vor 18 Jahre, 2 Monate von pHoEnIx-sTyLe
Ok es lag wirklich am Pfad.
Komischerweise hatte ich beides getestet und damals ging es nicht.
Naja wie auch immer.
thx 4 help
Komischerweise hatte ich beides getestet und damals ging es nicht.
Naja wie auch immer.
thx 4 help
gepostet vor 18 Jahre, 2 Monate von None
Ok...
Welche Sprache verwendest du und welches OS?
Wo ist der Unterschied bei dir im Source/Aufruf wenn du es manuell aufrufst (wo es ja klappt) und dem Cronjob?
Mich verwundert deine Aussage das du beim Ausführen was dazufügst... Hö?
Welche Sprache verwendest du und welches OS?
Wo ist der Unterschied bei dir im Source/Aufruf wenn du es manuell aufrufst (wo es ja klappt) und dem Cronjob?
Mich verwundert deine Aussage das du beim Ausführen was dazufügst... Hö?
gepostet vor 18 Jahre, 2 Monate von pHoEnIx-sTyLe
Original von MrMarco
Ok...
Welche Sprache verwendest du und welches OS?
Php - Linux
Original von MrMarco
Wo ist der Unterschied bei dir im Source/Aufruf wenn du es manuell aufrufst (wo es ja klappt) und dem Cronjob?
Wenn man es manuell aufruft dann kann man auch den relativen Pfad benutzen. der Cronjob findet aber die Datei nicht weil der Cronjob ja vom absoluten Pfad ausgeht.
Original von MrMarco
Mich verwundert deine Aussage das du beim Ausführen was dazufügst... Hö?
Nicht beim ausführen was dazufügen. In der Datei die durch den Cronjob ausgeführt wird, befindet sich ein Include, der die Verbindung mit der Datenbank aufbaut.
gepostet vor 18 Jahre, 2 Monate von Toby
Für diese Art von Problem habe ich eine schöne Lösung gebastelt:
define('BASEPATH', dirname(__FILE__));
set_include_path(BASEPATH.PATH_SEPARATOR.BASEPATH."/libs/");
Und schon kann ich Includen wie ich will und muss mir um sowas keine Gedanken mehr machen.
define('BASEPATH', dirname(__FILE__));
set_include_path(BASEPATH.PATH_SEPARATOR.BASEPATH."/libs/");
Und schon kann ich Includen wie ich will und muss mir um sowas keine Gedanken mehr machen.
gepostet vor 18 Jahre, 2 Monate von mifritscher
oder man macht als cron-job einfach ein kleines shell-script alà
cd /wohin/auch/immer
php (-o max_execution_time=99999999) datei.php >>logs/datei-`date +%G-%m-%d_%k:%M`
Ist denke ich die flexiblste Möglichkeit, da man viellfältige Optionen und Ligging-Möglichkeiten hat. Wenn man keine weiter Datei haben will einfach als Programm z.B. bash und als zu übergebene Argumente diese Zeilen angeben
cd /wohin/auch/immer
php (-o max_execution_time=99999999) datei.php >>logs/datei-`date +%G-%m-%d_%k:%M`
Ist denke ich die flexiblste Möglichkeit, da man viellfältige Optionen und Ligging-Möglichkeiten hat. Wenn man keine weiter Datei haben will einfach als Programm z.B. bash und als zu übergebene Argumente diese Zeilen angeben
gepostet vor 18 Jahre, 2 Monate von woodworker
Original von mifritscher
oder man macht als cron-job einfach ein kleines shell-script alà
cd /wohin/auch/immer
php (-o max_execution_time=99999999) datei.php >>logs/datei-`date +%G-%m-%d_%k:%M`
Ist denke ich die flexiblste Möglichkeit, da man viellfältige Optionen und Ligging-Möglichkeiten hat. Wenn man keine weiter Datei haben will einfach als Programm z.B. bash und als zu übergebene Argumente diese Zeilen angeben
wenn man es eh per PHP Binary ausführt kann man gleich set_time_limit nutzen.
und man stellt es aus in dem man auch 0 stellt und nicht einfach ein belibig großen wert eingibt.
gepostet vor 18 Jahre, 2 Monate von mifritscher
set_time_limit geht bei mir durch den safemode, der auch im cli aktiv ist, nicht.
Aber stimmt, 0 ist schöner als die Neunerfolge, danke für den Hinweis :-) Obwohl die 9 meine Lieblingszahl ist...
Aber stimmt, 0 ist schöner als die Neunerfolge, danke für den Hinweis :-) Obwohl die 9 meine Lieblingszahl ist...