Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fehler bei Verwendung von exit(); in Template #80

Closed
frood opened this issue Nov 2, 2017 · 5 comments
Closed

Fehler bei Verwendung von exit(); in Template #80

frood opened this issue Nov 2, 2017 · 5 comments
Labels

Comments

@frood
Copy link

frood commented Nov 2, 2017

Moin,
Cache-Warmup bricht mit Fehlercode "RAM exceeded" ab, wenn in einem Template exit(); verwendet wird.
Gelöst habe ich das jetzt, indem ich das exit(); für warmup ausschließe:

if($_GET['page']!='cache_warmup/generator') {exit;}

Funktioniert .... vielleicht kann man Cache-Warmup dazu bringen, den exit-Befehl zu ignorieren ....

Gruss, Marc

@staabm
Copy link
Member

staabm commented Nov 2, 2017

Das klingt sehr merkwürdig. Ist das mit der simple demo reproduzierbar? Ist das problem abhängig von verwendeten medien oder effekten?

@staabm staabm added the question label Nov 2, 2017
@schuer
Copy link
Member

schuer commented Nov 2, 2017

Kurze Anmerkung zum RAM exceeded: Das kommt grundsätzlich im Fehlerfall, denn es gibt kein detailierteres Fehlermanagement an der Stelle. Wenn ein Bild nicht generiert werden kann, können wir nur davon ausgehen, dass der Arbeitsspeicher nicht ausreicht. In allen anderen Fällen wird ein Fehlerbild statt des eigentlichen Bilds generiert, ohne dass Cache-Warmup davon etwas mitbekommt.

Was dein Exit betrifft: Setzt du das nach einem Redirect oder sowas? Oder welche Absicht hat das Exit in deinem Code? Wäre cool, wenn du die entsprechende Codestelle hier mal reinpasten könntest, damit wir verstehen, wo es klemmt.

@frood
Copy link
Author

frood commented Nov 2, 2017

Der Exit-Befehl ist bei mir abhängig von einem bestimmten Sessionwert. Er wird aufgerufen, wenn es diesen Wert nicht gibt:

if(!isset($_SESSION['wert'])){exit;}

Per default existiert dieser Wert nicht (der Hintergrund ist der, dass diese Seite nur einen Hinweis und einen Link ausspuckt und dann abbricht, wenn der Besucher zuvor nicht eine andere Seite besucht hat, auf der dieser Sessionwert gesetzt wurde).

Das Problem lässt sich mit der demo_base leicht nachbilden über das Standard-Template ...

So funktioniert der warmup (Bedingung für Exit nicht erfüllt):

<?php define('SITE_TYPE', 'col1'); if(1==2){ echo 'aus is!'; exit;} ?> REX_TEMPLATE[3]

... und so funktioniert der warmup nicht (Bedingung für Exit erfüllt):

<?php define('SITE_TYPE', 'col1'); if(1==1){ echo 'aus is!'; exit;} ?> REX_TEMPLATE[3]

@schuer
Copy link
Member

schuer commented Nov 4, 2017

@frood Ich kann dein Problem nachvollziehen und denke, dass Cache-Warmup wirklich gezielter auf Fehler eingehen sollte. Habe ein neues Issue dafür aufgemacht, siehe #81.

Bis zur fertigen Umsetzung solltest du wohl wirklich den Workaround einsetzen, den du beschrieben hast.

@schuer schuer added bug and removed question labels Nov 4, 2017
@schuer
Copy link
Member

schuer commented Dec 1, 2017

Wird im Zuge von #81 behoben werden.

@schuer schuer closed this as completed Dec 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants