Ich habe per Git meine neuesten Änderungen an einem Template auf den Server geladen. Anfangs ging alles normal und in meiner Testumgebung funktioniert auch alles einwandfrei. Jedoch passiert jetyz was ganz komisches.
Nach einer kurzen Zeit kann ich keine Artikel mehr aufrufen wegen eines 500 Fehlers. Der PHP Error Log sagt folgendes:
PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/--meine Seite--/engine/Library/Smarty/sysplugins/smarty_internal_
und dann abwechselnd „compile_block.php on line 93“ , „templatelexer.php on line 460 (oder 170,369,0,4114,462,129)“, "templateparser.php on line 1764 (oder 1598,1709,3194,1705,1733,1626) " und „compilebase.php on line 119“
Ich habe in Smarty blöcken die Reihenfolge der Detailseite geändert, hatte damit aber nie Probleme bis jetzt. Und neuere Änderungen gibt es in dem Zusammenhang nicht.
Kennt jemand das Problem oder kann mir erklären wie diese Fehler entstehen? Oder gibt es wenigstens eine Möglichkeit zu sehen woran das Problem liegt? Ich bin gerade dabei jeden einzelnen Block zu löschen und dann alles neu zu compilen. Das dauert ewig und ich sitze hier auch schon seit 9 Stunden.
EDIT:
Das ganze passiert erst nach dem neuesten Sicherheitsupdate.
warum setzt du dann nicht, wie in der Meldung klar zu erkennen, die maximale Skriptausführungszeit in deiner .htaccess - Datei etwas höher, beispielsweise auf 60 oder 120? 30 Sekunden sind beim Einsatz von Plugins so und so etwas niedrig, wobei das auch immer auf das eingesetzte Hostingpaket ankommt.
warum setzt du dann nicht, wie in der Meldung klar zu erkennen, die maximale Skriptausführungszeit in deiner .htaccess - Datei etwas höher, beispielsweise auf 60 oder 120? 30 Sekunden sind beim Einsatz von Plugins so und so etwas niedrig, wobei das auch immer auf das eingesetzte Hostingpaket ankommt.
Beste Grüße
Sebastian
Hallo Sebastian, danke für deine Antwort.
In meiner .hcaccess ist folgender Abschnitt geschrieben:
# php_value memory_limit 256M
# php_value max_execution_time 120
# php_value upload_max_filesize 20M
php_flag phar.readonly off
php_flag magic_quotes_gpc off
php_flag session.auto_start off
php_flag suhosin.session.cryptua off
php_flag zend.ze1_compatibility_mode off
php_value always_populate_raw_post_data -1
Sorry, wenn ich fragen muss, aber ich benutze ja php7 und dazu steht nichts in der Datei. Und sonstiger Timeout ist auch nicht definiert.
Das Problem wird wahrscheinlich sein, dass sich smarty blöcke oder templates gegenseitig referenzieren / ableiten und du eine Endlosschleife produzierst. Ich vermute einfach mal blind, dass du irgendwo ein parent: hinterlegt hast, wo es nicht hingehört.
Dazu hatte ich schon letztes Jahr eine Frage geschrieben - ohne Antwort:
„IfModule mod_php5.c“
Dürfte bei PHP7 wohl nicht greifen - mach das mal ohne IF-Kapselung
warum setzt du dann nicht, wie in der Meldung klar zu erkennen, die maximale Skriptausführungszeit in deiner .htaccess - Datei etwas höher, beispielsweise auf 60 oder 120? 30 Sekunden sind beim Einsatz von Plugins so und so etwas niedrig, wobei das auch immer auf das eingesetzte Hostingpaket ankommt.
Beste Grüße
Sebastian
Hallo Sebastian, danke für deine Antwort.
In meiner .hcaccess ist folgender Abschnitt geschrieben:
php_value memory_limit 256M
php_value max_execution_time 120
php_value upload_max_filesize 20M
php_flag phar.readonly off
php_flag magic_quotes_gpc off
php_flag session.auto_start off
php_flag suhosin.session.cryptua off
php_flag zend.ze1_compatibility_mode off
php_value always_populate_raw_post_data -1
Sorry, wenn ich fragen muss, aber ich benutze ja php7 und dazu steht nichts in der Datei. Und sonstiger Timeout ist auch nicht definiert.
Hallo,
entferne einfach mal das # - Zeichen vor php_value max_execution_time 120, dann dürfte der Wert auch berücksichtigt werden, was er vorher natürlich nicht wird, da er ja auskommentiert ist. Das if drum herum solltest du bei der Nutzung von PHP 7 wahrscheinlich auch entfernen.
Das Problem wird wahrscheinlich sein, dass sich smarty blöcke oder templates gegenseitig referenzieren / ableiten und du eine Endlosschleife produzierst. Ich vermute einfach mal blind, dass du irgendwo ein parent: hinterlegt hast, wo es nicht hingehört.
Viele Grüße
Ja, also ich Überschreibe relativ viel aus dem Bare Template. Aber generell habe ich ja den selben Aufbau. Ich habe nur 2 verschiedene detail index Seiten, die beide vom Parent erben, aber andere Blöcke überschreiben. Ist das der Auslöser vielleicht?