CodeIgniter Cron Job über Cpanel

Ok, ich habe mir jeden anderen Thread angesehen und genau das getan, was sie getan haben und was im Handbuch steht, und ich kann das NICHT für mein ganzes Leben herausfinden. Die Ergebnisse des Cron-Jobs werden per E-Mail an eine meiner E-Mails gesendet. Alles, was es tut, ist, das HTML-Markup des Layouts auszudrucken ... und den Inhalt der Basisseite zu drucken ... Es ist, als würde nichts registriert.

php /home/jdstable/public_html/dev/index.php cron decrease_pets_stats

Das ist meine Kommandozeile. Ich habe versucht, PHP durch das user / local / bin / php-Ding zu ersetzen und es hat nicht funktioniert. Die Sache ist, dass ich andere Cron-Jobs habe, die prozeduralen PHP-Code ausführen, der mit PHP-Pfad / to / cron.php einwandfrei funktioniert ... Aber es wird nicht mit CI funktionieren.

Mein Controller ist Cron und meine Methode ist reduction_pets_stats.

//decrease pets stats
public function decrease_pets_stats() {
$this->load->model('Cron_model', 'cron');
    $this->cron->decrease_pets_stats();
    echo 'Decreased pet stats';
}

Und hier ist die Logik der Methode:

//decrease pets stats
//runs every hour
public function decrease_pets_stats() {
    $this->db->set('hunger', 'hunger - 5');
    $this->db->set('happiness', 'happiness - 5');
    $this->db->set('loyalty', 'loyalty - 5');
    $this->db->update('user_creature');
}

Hat jemand eine Idee, warum es nur das Layout-Markup druckt? Mein Konstruktor sieht so aus:

public function __construct() {
        parent::__construct();
        if( ! $this->input->is_cli_request()) show_error('Direct access is not allowed');

        $this->load->model('Cron_model', 'cron');
    }

Und mein übergeordneter Konstruktor hat einiges zu bieten (Laden von Hilfsprogrammen und Bibliotheken sowie Abrufen der Benutzerinformationen, die auf jeder Seite angezeigt werden, wenn sie angemeldet sind).

Ist es wichtig, ob sich diese oben auf dem Controller befindet, bevor die Controller-Cron-Klasse überhaupt geöffnet wird?

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

Antworten auf die Frage(5)

Ihre Antwort auf die Frage