Gibt es eine Möglichkeit, hook_cron
mit Administratorrechten ausführen zu lassen - z. B. eine Art von sudo hook_cron()
sozusagen?Ausführen von hook_cron mit Administratorrechten in Drupal 6
Diese Frage ist bis zu my earlier question folgen zu diagnostizieren versucht, warum hook_cron() funktioniert anders von /drupal/cron.php
Laufe aufgerufen, dass die gleichen Funktionen von /admin/reports/status/run-cron
aufgerufen.
Meine spezielle Funktion (nennen Sie es foo_cron()
) aktualisiert Benutzerprofile als Teil seiner nächtlichen Aufgaben. Aber, /drupal/cron.php
läuft anscheinend als anonymer Benutzer. Anonyme Benutzer können Benutzerprofilfelder auf dieser Site aus offensichtlichen Gründen nicht ändern, so dass dieser Teil des Skripts fehlschlägt.
Ich weiß, ich kann umgehen, indem Sie profile_fields
direkt mit SQL ändern, aber das fühlt sich an wie ein hässlicher Hack, und könnte schwer zu pflegen, wenn ich damit in mehreren Modulen zu tun.
Ist die Möglichkeit, innerhalb der bestehenden Drupal-Funktionen und -Framework bestimmte foo_cron() - Jobs mit privs auszuführen, die wir normalerweise nur Administratoren geben, wie zum Beispiel das Aktualisieren von Profilen?
Auf dieser speziellen Website läuft Drupal 6.1.3.
Perfekt ... danke! – anschauung
Es gibt ein kleines Problem mit dieser Lösung, in der letzten Zeile haben Sie einen zusätzlichen Platz innerhalb der Bindestriche. Bitte ändern Sie es, da es schwierig ist, in einer cpanel-Umgebung zu debuggen. – Andrei
Um dies mit cPanel zu verwenden, müssen Sie möglicherweise auch "/ bin/sh" vor dem Shell-Skriptpfad hinzufügen. – Andrei