1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Wordpress Cronjob führt Datei nicht aus

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von nature225, 27. Mai 2019.

  1. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Hallo alle zusammen.

    habe mir ein kleines Plugin geschrieben, welches 1x täglich schaut ob aktualisierungen vorhanden sind.

    Wenn ich die Datei manuell aufrufe funktioniert alles wunderbar und ich bekomme auch eine E-Mail.

    Nun habe ich im Plugin ein cron angelegt welcher 1x täglich laufen soll. Nur habe ich das Gefühl das er diesen nicht ausführt. Ich bekomme auch keine Mail mehr zugesandt. Im folgenden einmal der Code vielleicht habt ihr eine Idee?

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Gibt es mind. 1x täglich einen Besucher auf dem Website? Die Abarbeitung der WordPress Cron Einträge wird durch Besucher getriggert.
     
  3. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Ja das ist vorhanden, ich habe auch zum testen im backend geklcikt Cron jetzt ausführen auch da kommt nichts an
     
  4. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Wo genau klickst Du denn "Cron jetzt ausführen" im Backend?

    Generell bei sowas: Viel Logging einbauen, z.B. per WP_DEBUG ins debug.log, Schritt für Schritt nachvollziehen, was wo wie passiert.
     
  5. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Habe mir das Plugin: WP Crontrol installiert womit die Cronjobs angezeigt werden.


    Okay das mit dem Debug kann ich nocheinmal testen ob er mir dort was herausschmeißt.
     
  6. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Update: debug.log schmeißt auch keinen Fehler aus
     
  7. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Viel Logging in Deinen Code einbauen, dann siehst Du schön im debug.log welche Funktion wann wie ob ausgeführt wird...
     
    nature225 gefällt das.
  8. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Vielen Dank :) Habe den Fehler durch den error_log gefunden :) Mir war aus irgendwelchen Gründen diese Funktion so noch nicht bekannt
     
  9. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Allerdings verstehe ich nicht ganz wieso er bei mir wenn ich folgende Funktion aufrufe

    wp_get_update_data() immer totals = 0 ausgibt obwohl z.B 3 Aktualisierungen vorhanden sind. Es hat mir den anschein das er die Funktion im Plugin nicht richtig oder irgendwie falsch interpretiert. Hat jemand von euch damit erfahrungen? Aus dumpen geht leider ja schlecht
     
  10. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Keiner eine Idee wieso die Funktion immer 0 zurückgibt - muss man vorher noch was includen oder gibt es eine Besonderheit diese Funktion in einem eigenen Plugin zu nutzen?
     
  11. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Ein kurzer Blick in den Code von wp_get_update_data() ergibt, dass dort via current_user_can(..) bestimmte Rechte (bei WordPress "Capabilites" genannt) des aktuellen Benutzers geprüft werden.

    Da Dein Plugin via Cron nicht im Kontext eines Benutzers mit solchen Rechten im Backend läuft, lässt sich diese 0 ganz gut erklären.

    Als Workaround könntest Du den Code von wp_get_update_data() in eine eigene Funktion Deines Plugins kopieren und die entspr. Checks weglassen.
     
  12. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Aber die Funktion ist ja in einer eigenen Funktion getUpdateStatus. Oder verstehe ich es gerade falsch ?
     
  13. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Lies nochmal genau #11 ...
     
  14. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Ah jetzt verstanden - aber als frage so nebenbei wenn ich die get_update _data Funktion kn der functions.php ausführe zeigt er mir alles richtig an, dort sind ja auch keine Rechte von Usern vorhanden ?
     
  15. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Wenn Du beim Aufruf via functions.php parallel in WordPress angemeldet bist, sind Deine Rechte vorhanden.
     
    nature225 gefällt das.
  16. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Ah okay danke :) werde es mal testen und berichten :)
     
  17. nature225

    nature225 Well-Known Member

    Registriert seit:
    15. Dezember 2017
    Beiträge:
    463
    Zustimmungen:
    36
    Repost: mit den Funktionen wie in der Doku klappt es nun. Nur get_core_updates funktioniert nicht da die Function undefined ist in meinem Plugin. Whrsl muss ich die update.php icludieren

    Ich weiß ich hatte es hier schon mal angesprochen, habt ihr eine Idee wie ich meine eigenen Wordpress Plugins mit Hilfe von Git aktualisieren kann? Die Plugins sind nicht direkt bei Wordpress Plugin enthalten, heißt nicht öffentlich. Gerne würde ich aber dennoch per Git aktualisierungen verbreiten. Ich hatte vor kurzem schon etwas darber gelesen, aber finde es leider nicht mehr
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden