PHP Warnung beim suchen in Downloads.

Support für Extensions für phpBB 3.3.x von Entwickler OXPUS
Antworten
MDuss
Beiträge: 149
Registriert: So 30. Dez 2012, 10:26

PHP Warnung beim suchen in Downloads.

Beitrag von MDuss »

Hi Leute.

Ich wollte heute mal innerhalb der Downloads was suchen. Allerdings bekam ich neben dem Ergebnis auch noch ein paar php Warnungen dazu.

Code: Alles auswählen

[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 322
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 283
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 283
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 212
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 282
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 374
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 213
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 299
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Undefined array key 178
[phpBB Debug] PHP Warning: in file [ROOT]/ext/oxpus/dlext/controller/search.php on line 324: Trying to access array offset on value of type null
Wie gesagt, ich bekomme Ergebnisse der Suche angezeigt, aber auch die obige Warnungen. Dabei spiel es keine Rolle, ob ich die normale oder die Erweiterte Suche verwende.

Ich verwende nicht die Forumseigene Suche, sondern diejenige, die mit der Ext hier mit kommt. Also oben im Header die Downloads anklicken, und dann oben rechts die Downloadsuche.

MfG
MDuss

Edit: Ich nutze PHPBB 3.3.11 und die DL Extension Version 8.2.14
Benutzeravatar
oxpus
Chief handy-man
Beiträge: 2660
Registriert: Do 13. Dez 2007, 23:06
Wohnort: Irgendwo im I-Net
Kontaktdaten:

Re: PHP Warnung beim suchen in Downloads.

Beitrag von oxpus »

Die Erweiterung hat an dieser Stelle keinen Fehler.

Leere mal bitte den Cache der Erweiterung.
Dieser scheint einen Fehler zu haben.
Karsten Ude
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MDuss
Beiträge: 149
Registriert: So 30. Dez 2012, 10:26

Re: PHP Warnung beim suchen in Downloads.

Beitrag von MDuss »

Hi Oxpus.

Wo genau finde ich den Cache der Erweiterung? Ich finde in der gesamten Ordnerstruktur der Extension keinen Ordner mit dem Namen Cache auf dem Server.

Den Cache des Forums unter forum/cache/production habe ich mal über ACP und von Hand über ein FTP Program gelöscht, aber da gab es keine Verbesserung.

MfG
MDuss

[Edit]: Ok, habe den Button im ACP bei der Downloadübersicht gefunden, um den Cache zu löschen, aber das brachte auch keinen Erfolg. Der Fehler ist unverändert.
Ich habe mal noch in meinem Testforum nachgesehen, und dort habe ich das Problem nicht. Scheint also wirklich an fehlerhaften Dateien zu liegen, bleibt nur die Frage wie finden und loswerden.
Benutzeravatar
oxpus
Chief handy-man
Beiträge: 2660
Registriert: Do 13. Dez 2007, 23:06
Wohnort: Irgendwo im I-Net
Kontaktdaten:

Re: PHP Warnung beim suchen in Downloads.

Beitrag von oxpus »

Noch einmal erklärt:

Die Fehlermeldung kommt, wie unschwer zu erkennen, von dieser Zeile aus der Datei /ext/oxpus/dlext/controller/search.php:

Code: Alles auswählen

					if (!empty($row['thumbnail']) && (($this->config['dl_thumbs_display_search'] == $this->dlext_constants::DL_THUMBS_DISPLAY_ON) || ($this->config['dl_thumbs_display_search'] == $this->dlext_constants::DL_THUMBS_DISPLAY_CAT && $index[$cat_id]['display_thumbs'])))
Lediglich die dort enthaltene Stelle $index[$cat_id]['display_thumbs'] kann diese Fehlermeldung verursachen.

Das Array $index wird durch die Erweiterung erstellt und in den Cache der Erweiterung geschrieben, um von dort an unterschiedlichen Stellen in der Erweiterung verwendet werden zu können, ohne den Index jedes Mal neu abfragen und erstellen zu müssen.

$cat_id ist an dieser Stelle ein Ergebnis der Abfrage der Suchergebnsisse aus der Datenbank und beinhaltet dabei die Kategorie-ID, welche im Download gespeichert wurde.

Da $cat_id aus dieser Abfrage heraus auch den Wert 322 enthalten kann, ist folglich der Cache für $index fehlerhaft.
Denn in der Abfrage an dieser Stelle wird die Kategorie je Download direkt mit diesem verknüpft abgefragt, es existiert folglich bei Dir eine Kategorie mit der ID 322 und passende Downloads dazu.
Andernfalls würde kein Download mit dieser Kategorie-ID im Abfrageergebnis enthalten sein und die Fehlermeldung erst gar nicht erscheinen.

Da also $index augenscheinlich den Schlüssel "322" (wie in diesem Fall) nicht besitzt, kann also nur der Cache defekt sein.
Also:
Den Cache geleeren, wenn alles nichts hilft, den Ordner production im Forum-Ordner cache löschen oder vorher umbenennen und dann löschen, so dass dieser neu erstellt werden kann.

Die Erweiterung ist, wie bereits geschrieben, an dieser Stelle definitiv nicht fehlerhaft, solange der Cache ebenfalls keine Fehler beinhaltet.
Zumal mich dann auch diverse andere Forenbetreiber schon längst hierzu angeschrieben hätten und das nicht nur seit der letzten Version der Erweiterung, da an der Suche bereits vor vielen Versionsnummern also vor sehr langer Zeit nicht mehr geändert wurde.

Klar, ein Abfangen dieser Meldung könnte die Fehlermeldung zwar verhindern, das würde aber am zugrunde liegenden Fehler nichts ändern.
Daher wird das an dieser Stelle und an diversen anderen Stellen in der Erweiterung auch nicht gemacht.


Nachtrag:
Ich sehe gerade, dass die Kategorie je nach Datenbank auch als "CROSS JOIN" mit den Downloads verbunden wird.
Somit kann es durchaus sein, dass bei Dir eine Kategorie mit der ID 322 nicht vorhanden ist, was dann folglich zu besagter Fehlermeldung führt.
Es existieren bei Dir also Downloads mit der Kategorie-ID 322 (wird in der Tabelle phpbb_downloads in der Spalte cat gespeichert), die Kategorie selber fehlt dagegen wohl in der Datenbank und ist somit nicht in dem gecachten Array $index vorhanden.

Da das phpBB bislang solche Verknüpfungen direkt und nicht "indirekt" erstellt hatte, was das nie ein Problem.
Dennoch wäre es fatal, das in der Suchabfrage abzufangen, da Du dadurch enthaltene Datenfehler in deinen Downloads nicht oder nur eher durch Zufall entdecken würdest.
Karsten Ude
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MDuss
Beiträge: 149
Registriert: So 30. Dez 2012, 10:26

Re: PHP Warnung beim suchen in Downloads.

Beitrag von MDuss »

Hi Oxpus.

Danke für deine näheren Erläuterungen. Ich habe mal nachgesehen, und alle Kategorien, welche in den Warnungen auftauchen existieren auch. Und jede der Kategorien enthält auch Downloads, wo der gesuchte Begriff auftaucht.

Ich habe mal deinen Vorschlag mit dem löschen des production Ordners durchgeführt, und es hat nichts gebracht, der Fehler bleibt bestehen.

Mich wundert das ganze ja auch, da in meinem Testforum der Fehler eben nicht auftritt. Ich habe in beiden Foren ( Hauptforum und testforum) die gleichen Extensions am laufen. Ich habe auch schon alle anderen Extensions im Hauptforum deaktiviert, aber das hat ebenfalls keine Auswirkungen auf den Fehler.
Also Extensions alle deaktiviert, den cache geleert bzw. den Production Ordner gelöscht, anschließend nur die DL-Extension aktiviert, wieder den Production Ordner gelöscht, und dann eine Suche mit der DL-Suche. Der Fehler blieb aber.

Du schreibst oben etwas von "je nach Datenbanken". Laut dem ACP von phpbb habe ich folgenden Datenbank-Server:
MySQL(i) 10.5.23-MariaDB-1:10.5.23+maria~ubu2004-log

Ob ich das Problem schon länger habe oder nicht, kann ich nicht sagen, da ich die Suche selber eigentlich nie verwende. War vor ein paar Tagen reiner Zufall dass ich mal die Suche verwendet habe. Und meine User scheinen die Suche wohl auch nur selten bis gar nicht zu verwenden, da ich von dort bisher auch nichts gehört habe.

Ich meine, ich bin ja auch ne komische Pflanze. Ich habe ja schön öfters Fehler gehabt, die in einer scheinbar seltenen Konstellation aufgetaucht sind, an die zuerst keiner gedacht hat. Offenbar bin ich da ein Pechvogel und bekomme immer die merkwürdigsten Kombinationen. Musstest du ja auch schon leider öfters mit machen.

MfG
MDuss
Benutzeravatar
oxpus
Chief handy-man
Beiträge: 2660
Registriert: Do 13. Dez 2007, 23:06
Wohnort: Irgendwo im I-Net
Kontaktdaten:

Re: PHP Warnung beim suchen in Downloads.

Beitrag von oxpus »

Als "schnelle" aber unfeine Lösung kannst Du die besagte Zeile 322 in der search.php auch von

Code: Alles auswählen

					if (!empty($row['thumbnail']) && (($this->config['dl_thumbs_display_search'] == $this->dlext_constants::DL_THUMBS_DISPLAY_ON) || ($this->config['dl_thumbs_display_search'] == $this->dlext_constants::DL_THUMBS_DISPLAY_CAT && $index[$cat_id]['display_thumbs'])))
ändern in

Code: Alles auswählen

					if (!empty($row['thumbnail']) && (($this->config['dl_thumbs_display_search'] == $this->dlext_constants::DL_THUMBS_DISPLAY_ON) || ($this->config['dl_thumbs_display_search'] == $this->dlext_constants::DL_THUMBS_DISPLAY_CAT && (!empty($index[$cat_id]['display_thumbs']) && $index[$cat_id]['display_thumbs']))))
Wie gesagt:
Das beseitigt nicht die Ursache, aber sollte den Fehler nicht mehr hervorbringen.
Karsten Ude
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MDuss
Beiträge: 149
Registriert: So 30. Dez 2012, 10:26

Re: PHP Warnung beim suchen in Downloads.

Beitrag von MDuss »

Hi Oxpus.

Danke für diesen Behelf. Damit wird dann zumindest die Warnung nicht mehr angezeigt.
Bin mal gespannt, ob sich irgendwann die Ursache des Problems zeigen wird.
Auf jeden Fall danke schön für den Workaround.

MfG
MDuss
Antworten