Weisse Seite nach speichern eines Inhaltes

am 21.11.2007 - 19:17 Uhr in
Ich habe selbst ein Theme erstellt was ganz gut funktioniert aber leider tritt seit einiger Zeit folgendes Problem auf:
Wenn ich nach dem bearbeiten oder neu erstellen eines Inhaltes (nicht Inhaltstyp) speichere, erhalte ich als nächstes eine weiße Seite ohne Inhalt (auch kein HTML). Wenn ich die Seite neu lade bin ich wieder im Inhalt erstellen Bereich.
Um das Problem zu finden habe ich das gleiche mit einem anderen Theme probiert und siehe da keine weisse Seite. Das heisst das es an meinem Theme liegt. Ich habe jetzt alle Theme Dateien rausgenommen ausser das page.tpl.php und style.css und das Problem tritt immer noch auf.
So sieht mein page.tpl.php aus.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<?php print $language ?>" xml:lang="<?php print $language ?>">
<head>
<title><?php print $head_title ?></title>
<?php print $head ?>
<?php print $styles ?>
<?php print $scripts ?>
</head>
<body>
<?php print $admin_menu ?>
<div id="page">
<div id="header">
<?php if ($logo) { ?>
<a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><img src="<?php print $logo ?>" alt="<?php print t('Home') ?>" /></a>
<?php } ?>
<?php if ($site_name) { ?>
<h1 class='site-name'><a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><?php print $site_name ?></a></h1>
<?php } ?>
<?php if ($site_slogan) { ?>
<div class='site-slogan'><?php print $site_slogan ?></div>
<?php } ?>
<?php print $search_box ?>
<?php print $feed_icons; ?>
</div>
<div id="menu">
<?php print $menu ?>
<?php print $submenu ?>
</div>
<div id="content">
<?php if ($breadcrumb): print $breadcrumb; endif; ?>
<?php if ($mission): print '<div id="mission">'. $mission .'</div>'; endif; ?>
<?php if ($tabs): print '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
<?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
<?php if ($tabs): print $tabs .'</div>'; endif; ?>
<?php if (isset($tabs2)): print $tabs2; endif; ?>
<?php if ($help): print $help; endif; ?>
<?php if ($messages): print $messages; endif; ?>
<?php print $content ?>
</div>
<div id="footer"><?php print $footer_message ?><?php print $closure ?></div>
</div>
</body>
</html>
Hatte jemand schon mal dieses Problem oder habe ich einfach etwas ausser acht gelassen?
- Anmelden oder Registrieren um Kommentare zu schreiben
PHP memory
am 21.11.2007 - 19:59 Uhr
Meine erste Vermutung in so einem Fall ginge in Richtung mangelnden PHP Ausführungsspeichers.
<?php
phpinfo();
?>
Hier:<?php if ($title):
am 21.11.2007 - 20:03 Uhr
Hier:
<?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
sehe ich einen Ansatzpunkt zum debuggen. Ist an der Stelle alles ok mit der Abfrage bzw. dem PHP String?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Keine Besserung
am 21.11.2007 - 21:04 Uhr
@:tumblingmug
Habe das mit dem memory_limit getestet und habe dort einen Wert von 48M was eigentlich ja mehr als genügend sein sollte. Weiter habe ich nur ein Theme aktiviert und auch als Admin-Theme das gleiche.
@quiptime
Den PHP Code:
<?php if ($title): print '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
habe ich zum testen komplett entfernt hat leider aber keine positive Veränderung ergeben.
Eigenes Theme: sind alle
am 21.11.2007 - 21:14 Uhr
Eigenes Theme: sind alle notwendigen Themedateien vorhanden?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
soll und haben
am 21.11.2007 - 21:43 Uhr
habe dort einen Wert von 48M was eigentlich ja mehr als genügend sein sollte.
Ich habe Drupal-Installationen gesehen, wo 64 MB nicht ausgereicht haben. Hast Du das mit den Blöcken versucht?
Was hast Du eigtl. seit dem Zeitpunkt verändert, wo der White Screen noch nicht auftrat? Es gibt ja jede Menge Möglichkeiten für diesen Fehler: zu wenig Speicher zuerst, dann Leerzeichen am Ende einer PHP-Datei nach abschliessendem PHP-Tag, weswegen die Drupal-PHP-Dateien sicherheitshalber alle gar kein Abschlusstag mehr haben (hast Du neue Module aktiviert, selber eines geschrieben?) oder aber auch abgeschaltetes error_reporting.
Nun, da Du so sehr Dein Theme im Verdacht hast: hast Du da was verändert und wenn ja, was? In der template.php? (Aber Du sagst ja oben, Du hättest auch diese testweise entfernt, richtig?)
Möglichkeiten getestet
am 21.11.2007 - 23:22 Uhr
1. Wieviel MB würdest du mir empfehlen oder gibt es so was wie ne Faustregel.
2. Was ich verändert habe bevor dieser Fehler aufgetretten ist kann ich leider nicht mehr sagen ich hatte aber Anfangs dieses Problem nicht und erst nach der Installation von zwei bis drei neuen Modulen an die ich mich leider nicht mehr erinnern kann (ich dachte zu diesem Zeitpunkt das das Problem mit einigen Änderungen meines Themes in Zusammenhang steht).
Vielleicht hat es ja was mit dem Modulen zu tun.
Die Module die ich installiert habe:
3. Das error_reporting funktioniert habe es getestet.
4. Wie geht das genau mit den abschliessenden php Tag und wieso macht es das so?
Fehler gefunden
am 24.11.2007 - 13:06 Uhr
Es hat wie tumblingmug gesagt hat am abschliessenden php Tag im template.php gelegen und zwar habe ich bei jeder Änderung z.B. an den Regionen oder am Menü ein PHP Einstieg und ein PHP End Tag gesetzt was ja zwangsweise zu Lehrschlägen nach einem PHP End Tag führt. Ich habe es jetzt so gemacht wie es in den anderen Themes auch gemacht wurde ein PHP Einstieg Tag ganz oben und fertig jetzt funktioniert alles wieder.
Vielen Dank für die Hilfe.
geht übrigens auch
am 24.11.2007 - 13:48 Uhr
geht übrigens auch einfacher:
einfach in die status übersicht von drpal schauen (admin/logs/status) und dann auf die Versionsnummer von PHP klicken. ist auch phpinfo().
nicht gewusst
am 24.11.2007 - 22:54 Uhr
geht übrigens auch einfacher:
einfach in die status übersicht von drpal schauen (admin/logs/status) und dann auf die Versionsnummer von PHP klicken. ist auch phpinfo().
Danke - nicht gewusst!