Page 1 of 1

PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-07 01:24
by bolle
Ich habe ein PHP Script, welches eine ziemlich umfangreiche Abfrage in einer grossen MySQL DB durchführt.
Wenn das Script per Browser aufgerufen wird, dauert die Abfrage einfach zu lange, so das die Seite ewig braucht um geladen zu werden.

Deswegen mein Anliegen.
Gibt es eine Möglichkeit, das PHP Script irgendwie zeitgesteuert auszuführen und die Ergebnisse dabei in eine Datei schreiben zu lassen, so das dann beim Aufruf der Webseite nur der Inhalt der Datei gelesen werden muss?

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-07 02:50
by krispin
Cron ist schon ne gute Idee.

Wenn dein script auch nur irgendwas ausgibt, so sendet Cron das dann per Email an root.

Wenn dein script z.B. ausgibt:

Code: Select all

MySQL: ...ok
PHP: ...kapputt
bekommste das so per Email.

MfG
Krispin

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-07 10:55
by bolle
Hmm..aber ich möchte ja keine Email, sondern das die Abfrageergebnisse in einer Datei landen, die ich dann mit dem Browser aufrufen kann :)

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-07 12:04
by krispin
Tag,

sind das Shell-Programme, die du in deinem Script ausführen möchtest?
Oder wie hattest du vor, das du realisieren?

MfG
Krispin

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-07 12:12
by olaf.dietsche
Bolle wrote:ich möchte ja keine Email, sondern das die Abfrageergebnisse in einer Datei landen, die ich dann mit dem Browser aufrufen kann
Versuch's mit Ausgabeumleitung

Code: Select all

php skript.php >datei.html

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-07 13:00
by bolle
Ausgabeumleitung funktioniert. THX :)

Allerdings steht jetzt in der Datei ganz oben:

Code: Select all

X-Powered-By: PHP/4.2.2
Content-type: text/html
Kann ich das hinbekommen, das das nicht mit geschrieben wird?

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-07 19:55
by olaf.dietsche
Wenn es immer zwei Zeilen sind, kannst du tail verwenden

Code: Select all

php skript.php | tail +2 >datei.html

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-08 17:07
by bolle
Big THX, olaf :)
Klappt einwandfrei. Hat mir sehr geholfen.

Re: PHP script mit cronjob ausführen und das Ergebniss ausgeben

Posted: 2003-09-09 12:43
by krispin
hmmm, etwas Professioneller wäre:
php -q script.php | >datei.html
-q unterdrückt die Header-Ausgabe, aber das tut nun nichts zur sache ;)

MfG
Krispin