Anzeige:
Ergebnis 1 bis 10 von 10

Thema: PHP-Parser geht nicht -> Wie also eine Datei per CronJob ausführen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    16.12.2002
    Ort
    Waldkirchen
    Beiträge
    7

    PHP-Parser geht nicht -> Wie also eine Datei per CronJob ausführen?

    Hallo zusammen!

    Für meinen Webserver habe ich ein PHP-Script geschrieben, das bei Aufruf die Datei /etc/exim/virtual_aliases in seine Einzelteile zerlegt und dann diese Teile in eine Datenbank einträgt, die vor diesem Eintrag erst komplett geleert wird. Das Script geht einwandfrei, das ist auch nicht das Problem, deshalb möchte ich an dieser Stelle nicht weiter darauf eingehen. Das Problem ist folgendes:

    Ich möchte dieses Script jede Nacht einmal ausführen lassen per CronJob. Auch das ist mir klar, wie („crontab –e“, Eintrag „0 3 * * * /Datei“ einfügen), nur habe ich keine Ahnung, wie ich eine PHP-Datei ohne Browser ausführen lassen kann. Generell gibt es jedoch die Möglichkeit, in der ersten Zeile den Parser mit „#!/usr/bin/php4“ (der auch auf dem System vorhanden ist) einzugeben. Jedoch bei Ausführen der Datei kommt die Meldung „bad interpreter“. Hat jemand eine Ahnung, wie man das Problem beheben oder eventuell umgehen kann?

    Verwendetes Serversystem ist Debian 3.0, PHP 4.1.2. Bei mir lokal läuft das Teil mit dem Parser /usr/bin/php unter Mandrake 9.0 tadellos.

    Vielen Dank für jede Hilfe!

    Gruß!

  2. #2
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Guckst du hier

    Hier gibs ne ziemlich gute Anleitung für Shellscripte per PHP. Selber hab ich sowas aber noch nicht gemacht.
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  3. #3
    Registrierter Benutzer
    Registriert seit
    14.09.2002
    Ort
    Bruchsal
    Beiträge
    164
    Du musst das Paket "php4-cgi" installieren, in php4 ist der Parser nur als Apache-Modul drin

  4. #4
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Servus!
    Trag einfach mal das in deine Crontab ein... ist viel einfacher als obiges Beispiel!

    Code:
    wget -O /dev/null http://localhost/phpskript.php >> /dev/null


  5. #5
    Registrierter Benutzer
    Registriert seit
    16.12.2002
    Ort
    Waldkirchen
    Beiträge
    7
    Hallo!

    Also am hilfreichsten war mir der Link von mehlvogel. ich habe jetzt die Zeile #!/usr/bin/php4 in meinem Script in #!/usr/bin/php4 -c /etc/php4/cgi/ umgeändert und siehe da... immerhin spuckt er mir jetzt ne Fehlermeldung aus, die altbekannt ist, die zeigt, dass das Script jetzt arbeitet:

    root:/etc/exim# /etc/exim/webmail.php
    X-Powered-By: PHP/4.1.2
    Content-type: text/html


    <br />
    <b>Fatal error</b>: Call to undefined function: mysql_connect() in <b>/etc/exim/webmail.php</b> on line <b>5</b><br />
    root:/etc/exim#

    sehr schön... also ist nur noch die Funktion mysql_connect() nicht definiert. Hat jemand hierfür auch einen Lösungsvorschlag?

    Vielen Dank weiterhin!

    Gruß!

  6. #6
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    hmm... offensichtlich ist in die CGI binary mysql nicht mit reinkompiliert... da hilft vielleicht ein neu kompilieren!
    Ist aber reine Spekulation!

    Hat mein Vorschlag mit wget nicht funktioniert?
    Ich finde das die unproblematischste lösung... habe auch lange mit dem Problem "PHP Skript per Cron ausführen" gekämpft.
    Geändert von Gaert (16-12-2002 um 23:05 Uhr)


  7. #7
    Registrierter Benutzer
    Registriert seit
    16.12.2002
    Ort
    Waldkirchen
    Beiträge
    7
    ja, doch, es funktioniert. Danke!

    Hatte anfangs ein Problem bedacht: die zu verarbeitende Datei liegt ja in /etc/exim, was heißt, dass ich ja von http://localhost/ nicht drauf kann. Aber an die einfachste Variante hab ich nicht gedacht, für die Zeit der Ausführung des Scripts die benötigte Datei per CronJob in den Ordner kopieren, in dem auch das Script liegt und anschließend wieder löschen.

    Nochmals Danke!

  8. #8
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Das is natürlich auch ne möglichkeit... wusste ja nicht dass du es nicht in reichweite des Apache hast!


  9. #9
    Registrierter Benutzer
    Registriert seit
    16.12.2002
    Ort
    Waldkirchen
    Beiträge
    7

    Thumbs up

    So ich habs raus! *stolz bin*

    "php4 -q /Datei"

    Funktioniert einwandfrei und macht auch keine Probleme.

    Schönen Abend noch, der MSVerweigerer

  10. #10
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hab mich auch noch en wenig schlau gemacht!

    Schaut euch bitte mal das hier an...

    http://www.php.net/manual/en/features.commandline.php


Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •