Rufen Sie uns an: +49 341 242 502 10

Ich war hier: WikkaWiki

Version [3813]

Dies ist eine alte Version von WikkaWiki erstellt von WojciechLisiewicz am 2022-06-14 22:09:47.

 

Wikka Wiki

Konfiguration, Einstellungen, Installation
Für erste Schritte bei Updates Originaldokument beachten:
- http://docs.wikkawiki.org/UpgradeNotes
Weitere sinnvolle Quellen:
- http://wikkawiki.org/FilesManagementSolution
- http://wikkawiki.org/WikkaMenulets

Die von uns eingesetzte Software braucht auch manchmal einen kleinen Anschub - deshalb die Dokumentation der Anpassungen / Korrekturen im WikkaWiki:

Zunächst eine kurze Sammlung zum Informationsarchiv aus früheren Generationen (vor 2021):



Und hier eine geordnete Darstellung aktuell (2021)


A. Umstieg auf PHP 8.0
Grundlage der Migration ist WikkaWiki 1.4.2, die für PHP 7.X vorgesehen ist (jedenfalls mit 7.2 getestet wurde). Zahlreiche Probleme in der Datenbanksteuerung und bei einigen Startskripten unter PHP 8 konnten schnell beseitigt werden. Das Problem war insbesondere das geänderte Datenbankmodell in PHP.
Achtung: zahlreiche Fehler könnten womöglich vermieden werden, wenn eine niedrigere Debugging-Stufe in PHP eingestellt worden wäre - bei Berücksichtigung der Fehler und deren Bearbeitung wird der Code wohl qualitativ besser sein.

Als das System dann einigermaßen installiert werden und danach starten konnte, mussten folgende Schritte unternommen werden:

1. Wakka.class Zeile 336
Warning: Undefined variable $result in /usr/local/www/wdb/libs/Wakka.class.php on line 336

a. Problem
Offenbar wird die Funktion function Query($query, $params=NULL, $dblink=) auch dann genutzt, wenn sie keinerlei vernünftige Ergebnisse produziert.

b. Lösung
In Zeile 336 schlicht ändern:
=> aus return $result;
=> Folgendes machen: if (isset($result)) return $result;


2. Wakka.class Zeile 432
Warning: Undefined variable $data in /usr/local/www/wdb/libs/Wakka.class.php on line 432

Es hat das Gleiche geholfen, wie schon bei Zeile 336:
=> aus return $data;
=> mach if (isset($data)) return $data;

3. Fehler, die von selbst verschwunden waren
Die nachstehenden Fehler sind nach Korrektur der Punkte oben von alleine verschwunden:
Warning: Cannot modify header information - headers already sent by (output started at /usr/local/www/wdb/libs/Wakka.class.php:336) in /usr/local/www/wdb/libs/Wakka.class.php on line 5285
und:
Warning: Cannot modify header information - headers already sent by (output started at /usr/local/www/wdb/libs/Wakka.class.php:336) in /usr/local/www/wdb/libs/Wakka.class.php on line 5287

4. Weitere Fehler in den Kommentaren
In den Kommentaren werden in der Regel folgende Fehler angezeigt:
Warning: Trying to access array offset on value of type null in /usr/local/www/wdb/handlers/show/show.php on line 163
Eigentlich zog sich hier die Befehlskette über zwei Zeilen und sah so aus:
if ((isset($_SESSION['show_comments'][$tag]) && $_SESSION['show_comments'][$tag] != COMMENT_NO_DISPLAY) || ($user['show_comments'] == 'Y'))
Der Wert $user musste noch mal vor Abfrage auf Existenz geprüft werden:
if ((isset($_SESSION['show_comments'][$tag]) && $_SESSION['show_comments'][$tag] != COMMENT_NO_DISPLAY) || ($user && $user['show_comments'] == 'Y'))

5. Sporadische Fehler auf manchen Seiten
(Beispiel: FormattingRules) => schwerwiegend, da sich gar keine Seite zeigt und nur die Fehlermeldung:
Fatal error: Array and string offset access syntax with curly braces is no longer supported in /usr/local/www/wdb/3rdparty/core/safehtml/classes/safehtml.php on line 95

a. Problem: obsolet gewordene Schreibweise mit { oder }
Siehe hier:
https://www.php.net/manual/de/migration80.incompatible.php

an der Stelle unter folgender Überschrift:
Support for deprecated curly braces for offset access has been removed.

b. Lösung
Es reicht wohl aus, Arrays mit [] statt mit {} zu schreiben...

c. Weitere ähnliche Fälle
=> 3rdparty/core/safehtml/classes/HTMLSax.php on line 195 + 343


6. Fehler nach Anmeldung
Nach der Anmeldung als User (hier konkret der Admin) kamen weitere Fehler vor:
Warning: Undefined variable $sessionid in /usr/local/www/wdb/libs/Database.lib.php on line 175 gleich 2x...
Später verschwanden Sie aber wieder ohne Änderungen. Vielleicht mit Korrektur zu den Zeilen 336 / 432. Danach aber wieder aufgetaucht...

a. Problem
Nach Anmeldung als registrierter Benutzer taucht überall die Meldung auf:
Warning: Undefined variable $sessionid in /usr/local/www/wdb/libs/Database.lib.php on line 175 und noch mal
Warning: Undefined variable $username in /usr/local/www/wdb/libs/Database.lib.php on line 175

b. Lösung
In Datei Database.lib.php die Variablen $sessionid und $username entsprechend definiert (nun 2 neue Zeilen 168/169):
if(!isset($sessionid)) $sessionid = ;
if(!isset($username)) $username = ;


7. Fehler in action PageIndex (Wakka.class Zeile 4131)
Fehlermeldung war:
Warning: Undefined variable $name in /usr/local/www/wdb/libs/Wakka.class.php on line 4131
Lösung:
in Zeile 4108 Variable definiert: if(!isset($name)){$name = ;}
Zeile 4131 verschiebt sich in 4134.

B. Fehler bei Aufruf von HTML-Quelltext
Bei Aufruf von HTML in roher Form (mit doppelten Anführungsstrichen " möglich) wird offenbar eine veraltete Version von SafeHTML aufgerufen und es beginnen viele Probleme:
Meldung:
Fatal error: Uncaught Error: Attempt to modify property "handler_default" on null in /usr/local/www/wdb/3rdparty/core/safehtml/classes/HTMLSax.php:556... und noch viel länger (statt 556 auch 494)

Lösung: NULL auffangen, damit die "property" dann nicht gesetzt wird...







CategoryITKnowledge
Auf dieser Seite sind keine Kommentare vorhanden