Error with Contao 4.13, PHP 8.0
johannes-bittner opened this issue · 4 comments
Das Speichern eines Kalenders im Backend, der einen iCal-Kalender enthält, führt zu folgender Fehlermeldung:
Compile Error: Array and string offset access syntax with curly braces is no longer supported
Symfony\Component\ErrorHandler\Error\FatalError:
Compile Error: Array and string offset access syntax with curly braces is no longer supported
at vendor/kigkonsult/icalcreator/src/Util/StringFactory.php:79
Wäre sehr dankbar für einen Fix ...
Hi, das wäre vermutlich eher ein Issue für https://github.com/iCalcreator/iCalcreator. Dennoch folgende drei Fragen:
- Welche Version des Pakets kigconsult/icalcreator wird verwendet (sollte in der composer.lock stehen)
- Welche Version des contao-calendar-ical-bundle wird verwendet
- Wie sieht der komplette Stacktrace aus
Also,
- Version lt. composer.lock :
"name": "kigkonsult/icalcreator",
"version": "v2.28.2", - Version: "cgoit/contao-calendar-ical-php8-bundle": "^4.4",
Jeweils frisch installiert.
Stack-Trace ist tatsächlich das hier:
in vendor/kigkonsult/icalcreator/src/Util/StringFactory.php:79
$cnt = count( $rows );
for( $i = 0; $i < $cnt; $i++ ) {
$line = rtrim( $rows[$i], Util::$CRLF );
$i1 = $i + 1;
while(( $i < $cnt ) && isset( $rows[$i1] ) && ! empty( $rows[$i1] ) &&
in_array( $rows[$i1]{0}, $CHARs )) {
$i += 1;
$line .= rtrim( substr( $rows[$i], 1 ), Util::$CRLF );
$i1 = $i + 1;
}
$output[] = $line;
Hi, dann ist das tatsächlich ein Problem des iCalcreators. Die 2.28.2 davon war m.W. die letzte Version, die noch mit PHP 7 lief. Wenn du die Möglichkeit hast, dann könntest du auf PHP 8 wechseln. Dort sollte der Fehler eigentlich nicht mehr auftreten.
Vielen Dank für den Hinweis auf die Version des iCalcreators - denn ich war/bin ja schon auf PHP 8. K.A. warum dennoch die veraltete Version installiert war. Nach einem composer update ist jetzt die aktuelle (v2.41.70) installiert und der Fehler verschwunden.