WSoD nach Cache Leeren
am 07.02.2014 - 18:17 Uhr in
Hallo zusammen,
sitze den heutigen Tag vor dem Problem WSoD. Mittlerweile habe ich das Problem eingekreist, komme aber leider nicht mehr weiter. Vielleicht hatte ja der ein oder andere eine ähnliche Problemstellung und hat einen Rat in petto.
Die Version ist Drupal 7.19 - Thema ist: das ist eine vom Kunden schon vorgegebene Drupalumgebung, in der auf 7.19 ein memcache und CDN (Deployment) kommen, sowie schon eine Menge vorinstallierter Module, aufbauend auf Omega und Seven. Ich baue darin Specialone ein und adaptiere es.
So weit klappt alles ganz gut, bis ich heute morgen fünft Module upadtete (kaltura video player, entityreference, diff module, devel modul und weight modul). Nach dem Update kam auf whitescreen folgender Fehler (ich habe die über ini_set('display_errors', TRUE);
und ini_set('display_startup_errors', TRUE);
natürlich an):
Fatal error: Call to undefined function entityreference_get_behavior_handlers() in /homepages/2/dxxxxxxxx/htdocs/drupal7/sites/all/modules/contrib/_entityreference/entityreference.install on line 44
Danach WSoD. Noch nicht mal einloggen ist möglich, alle Seiten sind down.
Natürlich drängt sich erst mal das Fehler-auslösende Modul entityreference auf. Ist es aber nicht. Ich habe alle module einzeln in der Datenbank aus und wieder eingeschaltet (ebenfalls auf dem FTP den Ordner unzugänglich umbenannt).
Nach längerem Suchen, endlose WSoD-Beiträge und witzigen Aktionen hin und her schaffe ich es nun, mich über folgendes Procedere wieder in die Seite einzuloggen:
- Ordner „modules“ auf dem Server unter site/all/ umbenennen (z.B. „_modules“) —> dann findet Drupal keine Module und deaktiviert alle (bis auf die im core).
- Cache leeren, Seite neu laden.
- Dann wieder zurück umbenennen auf „modules“, Cache leeren, Seite neu laden.
- Dann kann man sich einloggen und alles geht.
Nachdem ich mir die Logfiles angesehen habe, sehe ich nur die geupdateten Module und dass ich versuche, mich einzuloggen - aber keine Errors. Und im WSoD-Zustand meldet der Server gar keine Errors (auch nicht in die errors.log).
Wenn ich aber nur ein einziges Modul in der Admin-Ansicht aktiviere - und sei es das kleinste, hirnloseste Modul ever - folgt sogleich der WSoD. Ich habe auch schon die update.php noch mal laufen lassen, jedes Modul einzeln ein und ausgeschaltet - egal was ich in der Rubrik "Modules" mache, es führt zum sofortigen WSoD.
Mittlerweile habe ich herausgefunden, dass der WSoD auch kommt, wenn ich über Config/Development/Performance den Cache leere - bam.
Der PHP MEM Cache liegt bei 90MB, daran kann es jetzt nicht liegen, oder?
Irgendwie habe ich schon vermutet, dass es an CTools oder views liegt. Aber auch hier: In der Datenbank abgestellt, im Ordnersystem nicht zugänglich, egal, WSoD.
Hat jemand von Euch vielleicht noch eine Idee? Mir gehen sie langsam aus...
Aber vielen Dank schon mal für das Durchlesen!
Viele Grüße
Chris
- Anmelden oder Registrieren um Kommentare zu schreiben
was sagen denn die LOGs?
am 08.02.2014 - 18:47 Uhr
Je nach Provider wirst du sie anfordern müssen.
PHP-Memory unter 128 MB ist mutig bei Drupal.
Außerdem kann es auch an der max_execution_time liegen, die bei den meisten Providern auf 30 Sekunden eingestellt ist.
Muss eine komplexe Seite neu aufgebaut werden, kann auch das eng werden.
Sprich mit deinem Support des Providers, ob du 128 MB oder bei entsprechend komplexer Site vielleicht 196 oder sogar 256 MB bekommen kannst, und ob die max_execution_time nicht auf 90 Sekunden gesetzt werden kann.
Je nach Provider kann dies eine kostenpflichtige Erweiterung sein.
Danke Dir
am 09.02.2014 - 12:38 Uhr
Hallo Ronald,
danke Dir für Deine Antwort. Dann werde ich mal nachfragen, was die Erhöhung kostet.
Ich sage Dir auf alle Fälle, was dabei raus gekommen ist :)
Vielen Dank Dir für Deine Hilfe und schöne Grüße
Chris
Die Memcache-Erhöhung auf
am 18.03.2014 - 12:48 Uhr
Die Memcache-Erhöhung auf 128M hat es letzendlich gebracht. Seitdem geht wieder alles :)
Danke Dir nochmals für Deine Hilfe!
Viele Grüße
Chris
dies wäre im LOG
am 18.03.2014 - 12:57 Uhr
von PHP sichtbar gewesen.
Sprich mit deinem Provider, inwiefern du auf diese Logs zugriff bekommen kannst.
Gerade wenn man selbst etwas entwickelt, können Fehler auftreten, die in einem 500er oder WSoD enden, und dort aber schnell erkennbar sind.