Ergebnis 1 bis 2 von 2

Thema: Typolight 2.11 mit PHP7 lauffähig machen

  1. #1
    Contao-Nutzer
    Registriert seit
    24.02.2010.
    Beiträge
    64

    Standard Typolight 2.11 mit PHP7 lauffähig machen

    Ein exotisches Problem, ich hoffe.

    Don't do this at home: Contao 2.11.16 ist 5 Jahre alt und sollte upgegradet werden.

    Ich will trotzdem kurz dokumentieren, wie sich eine Typolight-Site soweit fixen lässt, dass sie unter PHP7 wieder angezeigt wird und das
    Backend wieder läuft. Alle Edits stammen aus diesem Forum, ich trage sie hier nur zusammen.
    Vor Anwendung der find/sed-Fixes bitte alle PHP-Files sichern, diese Kommandos ändern blind und grob den Programmcode, unerwünschte
    Nebenwirkungen sind wahrscheinlich.

    1. Datenbanktreiber, wenn nötig, von Mysql auf Mysqli umstellen:
    /system/config/localconfig.php: $GLOBALS['TL_CONFIG']['dbDriver'] = 'MySQLi';

    2. String-Klasse in StringUtils umbenennen ('String' ist seit PHP7 ein reserviertes Token):
    mv /system/libraries/String.php /system/libraries/StringUtil.php
    vi /system/libraries/StringUtil.php:
    class String => class StringUtil
    new String(); => new StringUtil();

    3. Aufrufe der String-Klasse korrigieren:
    find . -name "*.php" -exec sed -i "s/import('String')/import(StringUtil)/g" \{\} \;
    find . -name "*.php" -exec sed -i 's/->String->/->StringUtil->/g' \{\} \;

    4. Precedence-Problem bei Array-Indizes in Methodenaufrufen ($this->$foo[$bar] umschreiben in $this->{$foo[$bar]}):
    find . -name "*.php" -exec sed -i "s/->\(\$[a-zA-Z0-9]*\[[^\]]*\]\)/->{\1}/g" \{\} \;
    vi ./system/modules/frontend/PageRegular.php
    ändere hier $this->Template->$arrModule['col'] in $this->Template->{$arrModule['col']}

    Ihr könnt ja hier berichten, wenn ihr weitere Probleme und Lösungen findet.

    Grüße!
    Felix
    Geändert von flx (03.06.2019 um 00:25 Uhr)

  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.077
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Also wenn ich so eine Uraltversion wirklich unbedingt noch eine Zeit weiter betreiben wollte, dann würde ich eher das Hosting wechseln, dahin wo PHP 5.6 noch zur Verfügung steht. Wieviele kritische Sicherheitslücken seither gefunden wurden, die im Zweifel auch die 2.11.16 betreffen, will man aber lieber nicht wissen.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •