Andreas: Fehler bei Ausführung einer PHP-Datei mit einem Cronjob

Hallo,

ich habe eine PHP-Datei. In dieser wird zuerst per IMAP ein Postfach ausgelesen und je nach Inhalt der Emails wird zuerst eine Mail (an Adresse aus Datenbank) versendet, dann ein Eintrag in eine MySQL-Datenbank gemacht und dann noch eine Email versendet (statische Adresse). Dann wird die Email aus dem Postfach gelöscht.

Lasse ich die Datei per Cronjob ausführen, dann wird soweit ich das überblicken kann die Email aus dem Postfach ausgelesen und am Ende auch gelöscht. Außerdem wird die zweite Email (die mit statischer Adresse im Script) mit dem richtigen Inhalt versendet. Jedoch wird der Versand der ersten Email (Adresse aus Datenbank) und der Eintrag in die MySQL-Datenbank nicht durchgeführt.

Nun könnte man natürlich vermuten, dass der Fehler in der Datei liegt. Das komische ist allerdings, dass alles korrekt ausgeführt wird, wenn man die Datei par Hand (also über den Browser) aufruft.

Hat jemand eine Idee, woran das liegen könnte?

DANKE!

  1. Hallo,

    Nun könnte man natürlich vermuten, dass der Fehler in der Datei liegt. Das komische ist allerdings, dass alles korrekt ausgeführt wird, wenn man die Datei par Hand (also über den Browser) aufruft.

    Wahrscheinlich ja. Prüf mal die Pfadangaben - der der den cron macht hat nämlich eine andere Umgebung.

    Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. Hallo,

      pfadtechnisch ist da eigentlich nur eine include-Anweisung zu einer Datei drin, in der alle Passwörter, Datenbanken, Tabellennamen usw. drin sind.

      Der Pfad war nicht absolut angegeben. Habe ich jetzt versucht, brachte aber auch keinen Erfolg. Hätte mich auch gewundert, da z.B. die POP3-Passwörter aus dieser Datei ausgelesen werden konnten/können.

      Irgendwie habe ich das Gefühl, dass beim Ausführen per Cronjob nicht auf die Datenbanken zugegriffen werden kann. Schließlich klappt alles, bis auf das Versenden der Mail, dessen Empfänger aus einer DB ausgelsenen wird und der Eintrag eines neuen Datensatzes.

      Komischerweise funktioniert der Datenbankzugriff aber bei der manuellen Ausführung.

      Für weitere Tipps wäre ich dankbar!

      Andreas

      1. Hallo,

        ich hab schon Pferde kotzen gesehen - direkt vor der Apotheke.

        Komischerweise funktioniert der Datenbankzugriff aber bei der manuellen Ausführung.

        Für weitere Tipps wäre ich dankbar!

        Sei sogut und prüfe jeden Pfad für den Aufruf externer Programmdateien. Genau da liegt der Hase in der Pfeffersoße.

        Vielleicht schaust du auch mal in die mails des users der den cron ausführt - da stehen manchmal interessante Geschichten drin.

        Und wer crons installiert , so richtig ein Guter, der lenkt STDOUT, STDERR in eigene Dateien.

        Erwin

        --
        SELFforum - Das Tor zur Welt!
        Theoretiker: Wie kommt das Kupfer in die Leitung?
        Praktiker: Wie kommt der Strom in die Leitung?