IT-MÜCKE

OPcache löschen (Xataface)

Beitragsdatum 28.08.2025
Letzte Aktualisierung -
Betrifft OPcache, Xataface, diverse Versionen

Xataface ist ein Framework, um schnell und einfach komplexe Datenbankanwendungen bauen zu können.

Problem

Während der Programmierung an einer Xataface-Anwendung gab es plötzlich Fehlermeldungen, die im Log des Apache zu folgenden Einträgen führten:

AH01071: Got error 'PHP message: ###>; PHP message: Exception: Could not find URL for file xxx/modules/switch_user/switch_user.php in module tool in yyy/Dataface/ModuleTool.php:176\nStack trace:\n#0 xxx/modules/switch_user/switch_user.php(114): Dataface_ModuleTool→getModuleURL()\n#1 xxx/modules/switch_user/switch_user.php(69): modules_switch_user→getBaseURL()\n#2 yyy/Dataface/ModuleTool.php(264): modules_switch_user→__construct()\n#3 yyy/Dataface/Application.php(3300): Dataface_ModuleTool→loadModule()\n#4 yyy/Dataface/Application.php(3857): Dataface_Application→handleRequest()\n#5 yyy/Dataface/Applicat…; PHP message: <###'

Hinweis: mit xxx habe ich den Pfad zum Xataface-Projekt gekürzt, mit yyy zum Installationsverzeichnis von Xataface selbst.

Der Fehler verweist auf das Modul switch_user (siehe github.com/shannah), welches offensichtlich nicht richtig funktioniert.

Ich versuchte das Modul zu deaktivieren und alle Dateien des Moduls zu löschen. Das half nichts.


Ursache

Im Cache waren noch Daten des Moduls abgelegt, weshalb eine Entfernung aller Modulrelevanten Einträge und Dateien keine Wirkung zeigte, außer weitere Fehler zu schmeißen.


Lösung

Den Cache löschen. Ich erkläre den gesamten Vorgang zum Löschen des Moduls. Der letzte Schritt löscht den Cache.

Die folgende Vorgehensweise entfernt das Modul vollständig:

  1. Modul auf dem Filesystem löschen:
    rm -r modules/switch_user/
  2. Eintrag aus conf.ini.php vollständig entfernen:
    # Die Zeile entfernen:
    modules_switch_user="modules/switch_user/switch_user.php"
  3. Webserver neu startet:
    systemctl restart apache2
  4. OPcache leeren. Dazu folgende Datei im Verzeichnis des Projekts anlegen: reset-cache.php
    <?php
    opcache_reset();
    ?>
  5. Dieses Skript über den Browser aufrufen:
    # URL zur Anwendung gefolgt von /reset-cache.php, z.B.:
    https://ich-bin-ein-test.yz/reset-cache.php

Dadurch wird das Modul vollständig entfernt.

Anschließend könnte es neu installiert werden. Vermutlich reicht der letzte Schritt (Cache löschen) aus, wenn das Modul gar nicht entfernt werden soll, sondern aus unbekannten Gründen die genannte Fehlermeldung erzeugen sollte.


Ähnliche Themen im blog:
xataface, cache, apache


zurück