Projekt

Allgemein

Profil

Aktionen

Bug #274

offen

[Bugsink] ErrorException: Warning: file_get_contents(https://rietberg.ratsinfomanagement.net/amtsblatt/webservice/portal/getSearch?type=0&maxOccurs=-1&…

Von Bug Sink vor etwa 1 Monat hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
21.09.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/8d63b908-df85-4840-93db-d5b4d08faa1e/event/last/

Typ: NEW issue

Projekt: www-verl-de

Bugsink Alert

ErrorException: Warning: file_get_contents(https://rietberg.ratsinfomanagement.net/amtsblatt/webservice/portal/getSearch?type=0&maxOccurs=-1&…


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers

1. Ursache (Root Cause)

Der Fehler tritt auf, weil file_get_contents() mit einer fehlerhaft formatierten URL aufgerufen wird. Das entscheidende Problem liegt darin, dass die URL HTML-entity-kodierende & statt der korrekten &-Zeichen enthält:

❌ https://rietberg.ratsinfomanagement.net/amtsblatt/webservice/portal/getSearch?type=0&maxOccurs=-1&terms=organigramm
✅ https://rietberg.ratsinfomanagement.net/amtsblatt/webservice/portal/getSearch?type=0&maxOccurs=-1&terms=organigramm

Die & sind HTML-Entities, die in einem URL-Kontext nicht korrekt sind. file_get_contents() sendet die URL exakt so wie sie übergeben wird – der Webserver am Empfangsort kann die Query-Parameter daher nicht richtig parsen, was zum Fehler führt.

Zusätzliche mögliche Ursachen:

  • Der externe Server (rietberg.ratsinfomanagement.net) ist temporär nicht erreichbar
  • SSL/TLS-Zertifikatsprobleme auf dem Server
  • PHP allow_url_fopen ist deaktiviert
  • Firewall/Proxy blockiert den outbound HTTP-Request

2. Fix (konkret)

Primärer Fix – URL decodieren:

Im Code, der den file_get_contents()-Aufruf macht, muss die URL vor dem Aufruf mit html_entity_decode() oder htmlspecialchars_decode() decodiert werden:

// VOR dem file_get_contents()-Aufruf:
$url = html_entity_decode($url, ENT_QUOTES | ENT_HTML5, 'UTF-8');
// oder alternativ:
$url = htmlspecialchars_decode($url, ENT_QUOTES);

$content = file_get_contents($url);

Sekundärer Fix – Robusteres HTTP-Handling:

Ersetzen Sie file_get_contents() durch einen robusteren HTTP-Client (z. B. TYPO3's eigenes HttpClient oder cURL):

// Beispiel mit TYPO3 HttpClient (empfohlen):
use TYPO3\CMS\Core\Http\HttpClientFactory;

$client = (new HttpClientFactory())->getHttpClient();
$response = $client->request('GET', $decodedUrl);
$content = $response->getBody()->getContents();

Zusätzliche Maßnahmen:

  • Prüfen, ob der externe Service überhaupt eine HTML-Kodierung der URL erwartet
  • Logging für Fehlerfälle implementieren (try/catch mit aussagefähigem Logging)
  • Timeout und Retry-Logik einbauen

3. Betroffene TYPO3 Extension

Die betroffene Extension ist keine Standard-TYPO3-Core-Extension. Es handelt sich höchstwahrscheinlich um eine:

  • Benutzerdefinierte/lokale Extension (Custom Extension), die das Amtsblatt-Webservice der Stadt Rietberg (rietberg.ratsinfomanagement.net) anbindet
  • Möglicherweise eine Drittanbieter-Extension aus dem deutschen Raum im Bereich Amtsblatt/Ratsservice (z. B. Erweiterungen von Anbietern wie ratsservice, amtsblatt-portal o. Ä.)

Die Stelle, an der der Aufruf passiert (/public/index.php:21), deutet darauf hin, dass der Aufruf früh im Bootstrapping-Prozess erfolgt – möglicherweise in einem Frontend-Hook, einem Einstiegs-Skript oder einer Setup-Phase der Extension.

4. Confidence

85% – Die URL-Kodierung (& statt &) ist eindeutig ein Bug und die wahrscheinlichste Hauptursache. Die verbleibenden 15% berücksichtigen mögliche Netzwerk-/Serverprobleme beim externen Dienst als Mitursache.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF