ich habe eine laufende Site von PHP 7.4 und Con 4.10.1 auf die 4.10.2-dev geupdated. Sie lief im Anschluss nicht, es wurde im Frontend ein HTTP-Error 500 geworfen. Hat sich auch nicht geändert, als ich auf PHP 8.1.18 gewechselt bin. Das Backend funktioniert immerhin.
Ich habe daraufhin eine leere Vorlage basierend auf dem Standard-Layout erstellt und dann nach und nach mit den Modulen gefüllt. Dabei zeigte sich, dass immer dann, wenn in der Modul-Eingabe etwas eingetragen ist, Fehler im Error-Log auftauchen. Diese Fehler führen dann im Backend dazu, dass der Reiter "Konfiguration" zerschossen ist. Ich kann mir diese Fehler nur absolut nicht erklären, mal zwei davon:
Auszug Modul-Eingabe "content_teaser_image":
Code: Alles auswählen
echo '<table>';
echo '<tr><td>'.mi18n("input headline of teaserlist").'</td><td><input size="50" type="text" name="CMS_VAR[150]" value="CMS_VALUE[150]"></td></tr>';
echo '<tr><td>'.mi18n("input headline level").'</td><td>
<input type="radio" name="CMS_VAR[155]" value="h2"';
if(CMS_VALUE[155]=="h2") echo ' checked="checked"';
echo '>'.mi18n("input h2").'<br/>
<input type="radio" name="CMS_VAR[155]" value="h3"';
if(CMS_VALUE[155]=="h3") echo ' checked="checked"';
echo '>'.mi18n("input h3").'<br/>
<input type="radio" name="CMS_VAR[155]" value="h4"';
if(CMS_VALUE[155]=="h4") echo ' checked="checked"';
echo '>'.mi18n("input h4");
echo '</table>';
Code: Alles auswählen
PHP Parse error: syntax error, unexpected token "==" in /.../meinewebsite.de/contenido/includes/include.tplcfg_edit_form.php(352) : eval()'d code on line 6
Auszug Modul-Eingabe "stage_sd":
Code: Alles auswählen
echo '<tr><td>'.mi18n("input animation type").'</td><td>
<input type="radio" name="CMS_VAR[50]" value="fading"';
if(CMS_VALUE[50]=="fading") echo ' checked="checked"';
echo '>'.mi18n("input fading").'<br/>
<input type="radio" name="CMS_VAR[50]" value="sliding"';
if(CMS_VALUE[50]=="sliding") echo ' checked="checked"';
echo '>'.mi18n("input sliding").'</td></tr>';
Code: Alles auswählen
PHP Fatal error: Uncaught Error: Undefined constant "fading" in /.../meinewebsite.de/contenido/includes/include.tplcfg_edit_form.php(352) : eval()'d code:32
Stack trace:
#0 /.../meinewebsite.de/contenido/includes/include.tplcfg_edit_form.php(352): eval()
#1 /.../meinewebsite.de/contenido/main.php(212): include_once('/var/www/vhosts...')
#2 {main}
thrown in /.../meinewebsite.de/contenido/includes/include.tplcfg_edit_form.php(352) : eval()'d code on line 32
Danke euch für eure Hilfe mein Brett vorm Kopf zu entfernen!
Gruß,
Markus
edit:
Seufz. Komplett simpel. Scheint jedoch nichts mit der PHP-Version zu tun zu haben sondern der Contenido-Version (?), der Fehler kam auch unter PHP 7.4 vor. Statt
Code: Alles auswählen
if(CMS_VALUE[50]=="fading")
Code: Alles auswählen
if("CMS_VALUE[50]"=="fading")