Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Tasks werden seit einigen Tagen nicht ausgeführt
#1
Die nachstehende PHP-Fehlermeldung habe ich nur in einem Forum mit: PHP: 8.0.17 | SQL: 8.0.22
Code:
Trying to access array offset on value of type null in /home/www/url/inc/functions_task.php on line 115
Der Abschnitt:
PHP-Code:
function add_task_log($task$message)
{
global 
$db;

if(!
$task['logging'])
{
return;
}

$log_entry = array(
"tid" => (int)$task['tid'],
"dateline" => TIME_NOW,
"data" => $db->escape_string($message)
);
$db->insert_query("tasklog"$log_entry);

Die beanstandete Zeile (115) lautet:
PHP-Code:
if(!$task['logging']) 

Auch werden seit einigen Tagen keine Task mehr automatisch (Cronjob) ausgeführt.
  • Im Footer ist das {$task_image} auskommentiert.
Selbst deaktivieren/aktivieren der Tasks (Datum/Uhrzeit wird akualisiert) lässt maximal die manuelle Ausführung zu.

Cornjob deaktiviert und
  • Im Footer das {$task_image} nicht auskommentiert.
Selbst deaktivieren/aktivieren der Tasks (Datum/Uhrzeit wird akualisiert) lässt maximal die manuelle Ausführung zu.

In der Tabelle mybb_tasks ist
  • enabled = 1
  • logging = 1
  • locked = 0
Ist dass der PHP- bzw. SQL-Version geschuldet? Abhilfe?
Oder muss ich die Ursache woanders suchen? Wo?

Danke vorab für Tipps und Hinweise.

Anmerkung:
in einem anderen Forum mit PHP: 7.4.28 | SQL: 5.7.37 funktioniert die Taskausführung (Aufruf durch einen Cronjob) fehlerfrei.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#2
Wie sieht denn deine Task-Datei aus?

Ich könnte mir vorstellen, dass der Fehler entsteht, weil du im Task keine Logging-Funktion hast.
Nach meinem Verständnis ist es so, dass in irgendeiner Task-Datei der Array-Key bzw. Array-Index "logging" nicht existiert.
Das ist aber nur ne erste Vermutung. Wink
Zitieren
#3
Danke für deine Gedankengänge. Deine Vermutung kann meines Wissens nach nicht zutreffend sein.

Warum sollte die Definition logging gegeben sein? In allen Tasks von MyBB (V1.8.30) ist auch keine array bzgl. logging gegeben.

Die Funktionsangaben (siehe Dein Beitrag hier) sind hilfreich, wenn z.B. bei Aktivierung/Installation eines PlugIns ein Task automatisch mit installiert und eventuell gleich aktiviert werden soll. Dem MyBB-System wird daher vorab mitgeteilt wann, wie, welche Task-Datei der neue Task ausgeführt soll.

Legt man einen Task manuell an, definiert man alle für die Taskausführung gewünschten Angaben individuell selbst, welche gleichfalls in der Datenbank abgelegt werden. Die eigentliche aufgerufene Task-Datei enthält letztlich nur was der Task auszuführen hat.

Lasse mich gerne berichtigen wenn ich vorstehende Thematik inkorrekt interpretiert haben sollte.

Da es in anderen Foren (auch über Cronjob) fehlerfrei funktioniert, ist meine laienhafte Vermutung, das es mit den PHP-/SQL_Versionen zusammenhängen könnte.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#4
(13.05.2022, 17:03)Schnapsnase schrieb: Ich könnte mir vorstellen, dass der Fehler entsteht, weil du im Task keine Logging-Funktion hast.
Nach meinem Verständnis ist es so, dass in irgendeiner Task-Datei der Array-Key bzw. Array-Index "logging" nicht existiert.
Das geht schon in die richtige Richtung, ist aber nicht ganz richtig. add_task_log($task, $message) erwartet als erstes Argument den $task. Offenbar wir diese Funktion an irgendeiner Stelle falsch verwendet, wo genau lässt sich anhand dieser Fehlermeldung nicht feststellen.
(14.05.2022, 08:48)Gerti schrieb: Da es in anderen Foren (auch über Cronjob) fehlerfrei funktioniert, ist meie Vermutung, das es mit den PHP-/SQL_Versionen zusammenhängt.
Bei PHP 8.0 gab es jede Menge (nicht abwärtskompatible) Änderungen und manche Fehler im Code werden nicht mehr toleriert: https://www.php.net/manual/de/migration80.php
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
(14.05.2022, 09:02)StefanT schrieb: Das geht schon in die richtige Richtung, ist aber nicht ganz richtig. add_task_log($task, $message) erwartet als erstes Argument den $task.

Danke!

Auch aus diesem Grund wäre es wohl hilfreich gewesen, die Task-Datei mal zu sehen, aber naja...  Wink
Zitieren
#6
(14.05.2022, 09:14)Schnapsnase schrieb: Auch aus diesem Grund wäre es wohl hilfreich gewesen, die Task-Datei mal zu sehen, aber naja...  Wink
Falsche Ironie?
Es wurde nicht darum gebeten den/die Inhalte der Task-Datei(en) hier zu posten

Ich habe aktuell, wegen der Nichtausführung der Tasks, nur drei Standard-Tasks von MyBB aktiv.
* Daily Cleanup
* Thread Views
* Version Check
die Tasks werden nicht ausgeführt. Die zu posten ist nicht zielführend, da diese Tasks jeder MyBB-Anwender selbst hat.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#7
(14.05.2022, 09:47)Gerti schrieb: Falsche Ironie?
Es wurde nicht darum gebeten den/die Inhalte der Task-Datei(en) hier zu posten

Man (du) lese bitte in diesem Post den ersten Satz.
Es war auch nie die Rede davon, dass gar keine Tasks mehr ausgeführt werden, zumindest hatte ich das so nicht verstanden. Wink
Eine fehlerhafte oder nicht vorhandene Task-Datei kann durchaus den ganzen Rest stoppen.
Das dürfte allerdings nach Deaktivierung nicht mehr der Fall sein.
Zitieren
#8
Tritt das Problem auch in einem standardmäßigen Forum ohne Plugins, Modifikationen und eigenes Theme auf?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
Fehler behoben, die Tasks funktionieren wieder!

Ursache:
Die Berechtigungender der Pfade im Account waren bei Webgo wie folgt eingestellt:
[.]    CHMOD 777
[..]  CHMOD 755

Lösung:
Nachdem gestern Abend die Berechtigungen des Pfad vom Webspacebetreiber (testweise) gleichfalls auf
[..]  CHMOD 777
umgestellt wurde (klappte nur über eine gesonderte SSH-Verbindung ...warum auch immer) wurden die Tasks sofortwieder zeitgerecht ausgeführt.

Shy Auf so eine Fehlerquelle muss man erst mal kommen. Die Testeinstellungen bleiben jetzt als IST-.Bestand bestehen.

Wer die Accounteinstellungen vorher wann geändert hat (die Tasks haben ja urprünglich funktioniert) entzieht sich meiner Kenntnis. Wie üblich will niemand etwas geändert haben.

Vllt. hilft dieser Lösungsweg anderen Usern, sollten sie mal dieselben Probleme haben. Die Fehlermeldungen einzelner PlugIn-Tasks (wegen SQL8.0.x) poste ich in gesonderten Beiträgen.

An dieser Stelle besten Dank an Euch beide für die Tipps und Hinweise, welche dazu animierten nach dem sogenannten "Unmöglichen" zu suchen.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#10
Leider nochmals das Thema "Task werden nicht ausgeführt."

Gegeben:
MyBB: 1.8.32
PHP-Version: 8.1.12
SQL-Version: 10.5.15
CHMOD: ./inc/tasks/ = 755 (testweise auch mal 777)

Festgestellt, das seit dem 22.11.2022 (da wurde von 1.8.31 auf 1.8.32 upgegraded) keine Tasks mehr ausgeführt werden.

Habe alle Tasks deaktiviert und dann nur den Task "Mails User" (sendmailqueue.php) aktiviert und den Chache "Task" erneuert
Ergebnis:
Es wird weiterhin kein Task ausgeführt.

Leider werden Fehler bzgl. der Task-Anwendung nirgendwo protokolliert ...oder weiß jemand eine Stelle?

Frage:
Wie kann die eigentl. Ursache der Nichtausführung der Tasks feststellen?

Nebenbei:
Wenn man im ACP alle Tasks deaktiviert (aber nicht löscht), dann die Task-Dateien im Ordner ./inc/tasks/ löscht,werden sie im ACP (Cache wurde erneuert) sowie in der Tabelle mybb_tasks weiterhin angezeigt. Wird nicht abgeprüft ob die entsprechenden Dateien auch gegeben sind?

Für konstruktive Hilfestellungen zur Analyse der Fehlerquelle vorab besten Dank.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  MyCode wird im Beitrag nicht ausgeführt. Gerti 5 1.206 27.09.2023, 05:35
Letzter Beitrag: Gerti
  Task/s wird/werden nicht nach vorgegeben Zeitintervallen ausgeführt. Gerti 15 2.743 02.05.2022, 17:59
Letzter Beitrag: StefanT
  Forum seit ca. 2 Tagen faktisch nicht verwendbar. crurer 5 2.690 30.06.2017, 11:51
Letzter Beitrag: Erkan