Nach der Hochstufung des php-Kommandozeilenbefehls von php 8.0 auf php 8.2 gab es bei Cronjobs für die Nextcloud folgenden Fehler: An unhandled exception has been thrown: OCP\HintException: [0]: Memcache OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
Nach einem Update der php-redis-Pakete unter Debian von Version 5.3.7 auf 6.0.0 Anfang September funktionierte der Login bei Nextcloud plötzlich nicht mehr. Es endete immer in einer Endlosschleife des Login-Screens.
Bei der Verwendung von Matomo und Redis mit php 8.1 nervt eine Fehlermeldung über eine veraltete Parameter-Weitergabe. WARNING: /vendor/matomo/cache/src/Backend/Factory.php(62): Deprecated - Redis::connect(): Passing null to parameter #2 ($port) of type int is deprecated
Bei der Suche nach einem Fehler in einer Nextcloud-Installation installierte ich kürzlich alle möglichen zusätzlichen Pakete für php 8.0. Das hatte den Nebeneffekt, dass Textpattern-Installationen plötzlich fehlerhafte Seiten ausgaben bzw. RSS-Feeds mit der angehängten kompletten Standardseite.
In einem php-Plugin für Textpattern, in dem RSS-Feeds geparsed werden, ließen sich einige Leerzeichen partout nicht mit einem einfachen trim($string); beseitigen.
In Textpattern stellt sich immer wieder das Problem, dass man zwar eine Lösung mit allgemeinen Tags gefunden hat, diese jedoch gern in einem PHP-Codeschnippsel oder einem Plugin direkt in PHP verwenden möchte. Beispiele für einfache Tags und Variablennutzung sind im Textpatternforum“„ und der Dokumentation mehrfach zu finden. Ein Problem stellte — zumindest für mich — die Verwendung von Textpatterntags innerhalb eines Containertags dar.
Wenn Postfix Mails auf Hold setzt und diese nicht ausliefert, bekommt man das als Admin nur durch Zufall oder regelmäßige Überprüfungen der Mailschlange beispielsweise per mailq oder per postqueue -p mit. Vor kommt das unter anderem wenn eigene Mails bei der Zustellung zu einem anderen Server beim Greylisting hängen bleiben oder die eigene DMARC-Prüfung die eingehende Mail auf Hold setzt und diese einfach nicht zugestellt wird.
Curl ist ein nettes Tool und das auch in PHP-Scripts, um beispielsweise per Cronjob RSS-Feeds zu holen und diese dann zu verarbeiten und in Webseiten zu integrieren. Mitunter gibt die Zielwebseite jedoch etwas anderes als den gewünschten Feed und den Status-Code 200 aus. Bei einer problematischen Website, die periodisch einen 500er-Code ausgab, ließ sich partout der RSS-Feed nicht ziehen. Durch „händische“ Tests ergab sich, dass der 500er Code meist beim zweiten Versuch verschwand. Daher lässt sich der gewünschte Feed dann doch noch ziehen, wenn man es zwei oder drei Mal versucht.
Nach der Umstellung einer Installation von php 7 auf php 8 ergab sich in dem alten Textpattern-Plugin pap_xpoll für Umfragen ein Division-durch-Null-Fehler, wenn Ergebnisse für eine frisch erstellte Umfrage angezeigt werden sollen.
Nach dem Update bzw. Switch von php 7.4 zu php 8.0 für Matomo begrüßte einen prompt ein „White screen of death“ von php ohne irgendwelche Fehlermeldungen in php-error.log oder sichtbare Fehlermeldungen nach der Aktivierung von php_flag[display_errors] = on im betreffenden php-Pool.
Der Webanalysedienst Matomo hat eine Standorterkennung implementiert, die ständige Updates der verwendeten Datenbanken erfordern. Für den Fall das Geoloaction-Datenbanken von DBIP mit der php-Erweiterung genutzt werden, müssen regelmäßig drei Datenbanken für die höchste Informationsdichte heruntergeladen werden.
Notizen und Anmerkungen zu Linuxproblemen auf Server und Heimrechner. Setze mich mit unterschiedlichem Erfolg seit Debian Hamm mit Linux auseinander, damals noch als CD-Pack von Lehmanns Buchhandlung.
Aktuell sind das Debian 11 „Bullseye“ auf dem Server und Ubuntu Xenial Xerus/Focal Fossa/Jammy Jellyfish auf Klapprechnern.
Allerdings heißt es damals wie heute: Das Problem sitzt meist vor dem Rechner.