Projekt

Allgemein

Profil

Aktionen

Bug #118

offen

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

Von Bug Sink vor etwa 2 Monaten hinzugefügt.

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

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/0cccad8e-0f2c-4494-8577-f8e1770c5d04/event/last/

Typ: NEW issue

Projekt: www-rietberg-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 identifizieren

Der Fehler tritt auf, weil file_get_contents() versucht, eine externe API (https://rietberg.ratsinfomanagement.net/amtsblatt/webservice/portal/getSearch) abzufragen, die jedoch mit einem HTTP 500 Internal Server Error antwortet.

Mögliche Gründe für den 500er-Fehler:

  • Serverseitiger Fehler (z. B. PHP-Fehler, Datenbankproblem, falsche Konfiguration) auf dem Zielserver (rietberg.ratsinfomanagement.net).
  • Ungültige Anfrageparameter (z. B. type=0, maxOccurs=-1, terms=Sozialamt könnten vom Backend nicht korrekt verarbeitet werden).
  • Authentifizierung fehlt (falls die API einen API-Key oder Token erwartet).
  • SSL/TLS-Probleme (z. B. Zertifikatsfehler, unsichere Verbindung).
  • Timeout oder Netzwerkproblem (z. B. Firewall blockiert die Anfrage).

Hinweis:

  • Der Fehler stammt nicht aus dem TYPO3-Core, sondern aus einem benutzerdefinierten Skript (/public/index.php:21), das die API abfragt.
  • Die TYPO3-Middleware-Stacks (VerifyHostHeader, NormalizedParamsAttribute) sind nur indirekt betroffen, da sie die Anfrage weiterleiten.

2. Fix beschreiben (konkret)

Schritt 1: Fehlerquelle eingrenzen

  • Prüfe die API manuell (z. B. mit curl oder Postman):
    curl -v "https://rietberg.ratsinfomanagement.net/amtsblatt/webservice/portal/getSearch?type=0&maxOccurs=-1&terms=Sozialamt"
    
    • Falls der 500er-Fehler reproduzierbar ist, liegt das Problem auf dem Zielserver.
    • Falls die API funktioniert, prüfe die PHP-Konfiguration (z. B. allow_url_fopen, SSL-Einstellungen).

Schritt 2: Robustere Fehlerbehandlung in PHP
Ersetze file_get_contents() durch GuzzleHttp (empfohlen für TYPO3) oder füge eine Fehlerbehandlung hinzu:

use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;

try {
    $client = new Client();
    $response = $client->get('https://rietberg.ratsinfomanagement.net/amtsblatt/webservice/portal/getSearch', [
        'query' => [
            'type' => 0,
            'maxOccurs' => -1,
            'terms' => 'Sozialamt'
        ],
        'timeout' => 10,
        'verify' => true // SSL-Zertifikat prüfen
    ]);

    $data = json_decode($response->getBody(), true);
} catch (RequestException $e) {
    // Fehler loggen (z. B. mit TYPO3 Logger)
    \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Log\LogManager::class)
        ->getLogger(__CLASS__)
        ->error('API-Anfrage fehlgeschlagen: ' . $e->getMessage());

    // Fallback-Verhalten (z. B. leeres Array zurückgeben)
    $data = [];
}

Schritt 3: API-Anfrage optimieren

  • Parameter validieren (z. B. maxOccurs=-1 könnte ungültig sein).
  • Authentifizierung hinzufügen (falls erforderlich):
    $response = $client->get(..., [
        'headers' => ['Authorization' => 'Bearer YOUR_API_KEY']
    ]);
    

Schritt 4: TYPO3-Konfiguration prüfen

  • Stelle sicher, dass allow_url_fopen = On in der php.ini aktiviert ist.
  • Falls SSL-Probleme auftreten, deaktiviere die Zertifikatsprüfung (nur für Tests!):
    $response = $client->get(..., ['verify' => false]);
    

3. Betroffene TYPO3 Extension

Der Fehler stammt nicht aus einer offiziellen TYPO3-Extension, sondern aus:

  • Einer benutzerdefinierten Extension oder einem Skript in /public/index.php.
  • Möglicherweise handelt es sich um eine selbst entwickelte Extension (z. B. für die Integration des "Ratsinformationssystems").

Empfehlung:

  • Prüfe, ob die Extension Dokumentation oder Support hat.
  • Falls es sich um eine Drittanbieter-Extension handelt, kontaktiere den Entwickler (z. B. rietberg.ratsinfomanagement.net).

4. Confidence (0-100%)

Aspekt Confidence
Ursache (HTTP 500) 95%
Lösung (Guzzle + Fehlerbehandlung) 90%
Betroffene Extension 80%
Gesamt 88%

Begründung:

  • Der 500er-Fehler ist klar identifiziert, aber die genaue Ursache auf dem Zielserver (z. B. Datenbankfehler, falsche Parameter) kann ohne Zugriff auf die API nicht abschließend geklärt werden.
  • Die vorgeschlagene Lösung (Guzzle + Fehlerbehandlung) ist best practice für TYPO3 und sollte das Problem lösen, falls die API korrekt funktioniert.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF