Breaking-News Diagnose

Diese Seite greift die Live-Logik nicht an. Sie zeigt Umgebung, Dateirechte und die letzten protokollierten PHP-Fehler.

Test für edit wurde ohne sofortigen Fatal Error ausgeführt.
Wichtig: Wenn ein Test einen Fatal Error in einer Zieldatei auslöst, wird das in die Logdatei geschrieben. Danach diese Diagnose-Seite einfach neu laden.

Test-Aktionen

content-data.php testen debug.php testen edit.php testen feed.php testen Log leeren

Umgebung

PHP-Version8.2.30
SAPIcgi-fcgi
mbstring geladenja
json geladenja
allow_url_fopen1
display_errors
memory_limit512M
max_execution_time240
include_path.:/opt/RZphp82/includes
Logdatei/mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/data/breaking-news-php-errors.log
existiert / schreibbar

Pfade und Rechte

content-data /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/includes/content-data.php
Datei: ja / lesbar: ja / schreibbar: ja
debug /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/breaking-news/debug.php
Datei: ja / lesbar: ja / schreibbar: ja
edit /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/breaking-news/edit.php
Datei: ja / lesbar: ja / schreibbar: ja
feed /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/breaking-news/feed.php
Datei: ja / lesbar: ja / schreibbar: ja
Ordner /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/data
existiert: ja / schreibbar: ja
Ordner /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/data
existiert: ja / schreibbar: ja
Ordner /tmp
existiert: ja / schreibbar: ja

Ausgabe des letzten Tests

<!doctype html>
<html lang="de">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Meldung bearbeiten</title>
    <style>
        body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background: #f4f7fb; color: #111827; margin: 0; padding: 24px; }
        .wrap { max-width: 1240px; margin: 0 auto; }
        .notice { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; padding: 12px 14px; border-radius: 14px; margin-bottom: 18px; }
        .warning { background: #fff4f4; color: #8b1e1e; border: 1px solid #f5b5b5; padding: 12px 14px; border-radius: 14px; margin-bottom: 18px; }
        .layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(330px, 0.7fr); gap: 18px; align-items: start; }
        .panel { background: #fff; border: 1px solid #e5e7eb; border-radius: 20px; padding: 20px; box-shadow: 0 8px 26px rgba(15,23,42,.05); }
        .panel h2 { margin: 0 0 12px; }
        .page-title { margin: 0 0 8px; font-size: 1.85rem; line-height: 1.15; }
        .small { color: #5f6368; line-height: 1.55; font-size: 0.95rem; }
        .link-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; align-items: center; }
        .btn { appearance: none; border: 0; border-radius: 999px; padding: 12px 18px; font: inherit; font-weight: 800; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
        .btn-primary { background: #2563eb; color: #fff; }
        .btn-soft { background: #f3f4f6; color: #111827; }
        .btn-danger { background: #d93025; color: #fff; }
        .btn-green { background: #15803d; color: #fff; }
        .btn:focus { outline: 2px solid rgba(37,99,235,.25); outline-offset: 2px; }
        .flag-icon { display: inline-flex; width: 1.35em; height: 0.95em; vertical-align: -0.12em; margin-right: 0.42em; border-radius: 3px; overflow: hidden; box-shadow: 0 0 0 1px rgba(15,23,42,.14); flex-shrink: 0; }
        .flag-icon svg { display: block; width: 100%; height: 100%; }
        .field { margin-bottom: 16px; }
        .field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
        label { display: block; font-weight: 800; margin-bottom: 8px; }
        input[type="text"], input[type="url"], textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 14px; padding: 12px 14px; box-sizing: border-box; font: inherit; background: #fff; }
        textarea { min-height: 148px; resize: vertical; }
        .readonly { background: #f8fafc; border-radius: 14px; border: 1px solid #e5e7eb; padding: 12px 14px; min-height: 64px; white-space: pre-wrap; }
        .actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
        .section-sep { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e5e7eb; }
        .lang-section { border-radius: 18px; padding: 16px; margin-bottom: 16px; border: 1px solid transparent; }
        .lang-section h3 { margin: 0 0 12px; font-size: 1.15rem; }
        .lang-de { background: #eef5ff; border-color: #bfdbfe; }
        .lang-en { background: #fff7ed; border-color: #fed7aa; }
        .meta-section { background: #fafafa; border-color: #e5e7eb; }
        .preview-box { border-radius: 18px; padding: 16px; margin-bottom: 16px; border: 1px solid transparent; }
        .preview-box h3 { margin: 0 0 12px; font-size: 1.1rem; }
        .preview-de { background: #f0f7ff; border-color: #bfdbfe; }
        .preview-en { background: #fff8ee; border-color: #fed7aa; }
        .preview-original { background: #fafafa; border-color: #e5e7eb; }
        .preview-title { font-weight: 800; font-size: 1.12rem; line-height: 1.35; margin-bottom: 8px; }
        .status-chip { display: inline-flex; align-items: center; gap: 6px; background: #f3f4f6; color: #374151; padding: 6px 10px; border-radius: 999px; font-size: 0.85rem; font-weight: 700; }
        .status-chip.active { background: #ecfdf5; color: #166534; }
        .status-chip.paused { background: #fffbeb; color: #92400e; }
        .status-chip.excluded, .status-chip.deleted { background: #fff1f2; color: #be123c; }
        a { color: #2563eb; text-decoration: none; }
        a:hover { text-decoration: underline; }
        code { font-size: 0.92rem; }
        .info-list { display: grid; gap: 10px; }
        .info-item { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 12px 14px; }
        .info-item strong { display: block; margin-bottom: 6px; }
        .subnote { font-size: 0.9rem; color: #6b7280; margin-top: 6px; }
        @media (max-width: 980px) {
            .layout, .field-grid { grid-template-columns: 1fr; }
        }
    </style>
</head>
<body>
<div class="wrap">
    <div class="link-row">
        <a class="btn btn-green" href="/kai/breaking-news/debug.php">Zurück zur Debug-Verwaltung</a>
                <a class="btn btn-soft" href="/kai/breaking-news/" target="_blank" rel="noopener">KI Breaking News öffnen</a>
    </div>

    
            <div class="warning">Diese Meldung konnte nicht geladen werden. Öffne die Debug-Seite erneut und wähle die Meldung dort noch einmal aus.</div>
    </div>
</body>
</html>

Letzte Logeinträge

[2026-03-25 15:27:24] INFO | uri=/kai/breaking-news/diagnose.php?action=test&target=content-data | method=GET | ip=216.73.216.135 | file=/mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/breaking-news/diagnose.php | line=72 | message=Diagnose-Test startet für content-data
[2026-03-25 15:27:24] FATAL_E_ERROR | uri=/kai/breaking-news/diagnose.php?action=test&target=content-data | method=GET | ip=216.73.216.135 | file=/mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/includes/content-data.php | line=1744 | message=Uncaught Error: Call to undefined function discover_day_directories() in /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/includes/content-data.php:1744 Stack trace: #0 /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/includes/content-data.php(1769): import_pending_day_dates() #1 /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/includes/content-data.php(1789): import_needs_update() #2 /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/includes/content-data.php(1819): maybe_schedule_auto_import() #3 /mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/breaking-news/diagnose.php(74): include('...') #4 {main}   thrown
[2026-03-25 15:29:58] INFO | uri=/kai/breaking-news/diagnose.php?action=test&target=edit | method=GET | ip=216.73.216.135 | file=/mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/breaking-news/diagnose.php | line=72 | message=Diagnose-Test startet für edit
[2026-03-25 15:29:58] INFO | uri=/kai/breaking-news/diagnose.php?action=test&target=edit | method=GET | ip=216.73.216.135 | file=/mnt/web701/d3/66/598166/htdocs/PreLearningAnalyse/site/kai/breaking-news/diagnose.php | line=77 | message=Diagnose-Test beendet für edit