Ergebnis 1 bis 9 von 9

Thema: hex2bin in Validator.php nicht verfügbar in PHP Version 5.3 ?

  1. #1
    Contao-Nutzer
    Registriert seit
    15.11.2011.
    Beiträge
    81

    Standard hex2bin in Validator.php nicht verfügbar in PHP Version 5.3 ?

    Hallo,

    ich stelle gerade auf 5.3 zum Testen um.
    Ich habe PHP 5.3.18 per .htaccess aktiviert und der Contao-Check sagt, ich kann 5.3. installieren.
    Das System läuft ja auch bis auf die ganzen installierten Erweiterungen.

    Problem:
    Auf einer Seite habe ich per Modul eine eigene PHP-Seite eingebunden.
    Beim Aufruf wird wohl "/system/modules/core/library/Contao/Validator.php" genutzt.
    Hierin wird die Funktion "hex2bin" verwendet, diese ist aber wohl erst ab PHP 5.4.0 verfügbar, korrekt?
    Dann müsste man doch auch 5.4 als minimale Voraussetzung für Contao 3.x angeben?

    Hier der Fehler:
    Fatal error: Call to undefined function Contao\hex2bin() in ......./contao_update/system/modules/core/library/Contao/Validator.php on line 276

    Weiß jemand Rat?

    Grüße
    Olli

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo olli1770,
    ist ein bekanntes Problem. Siehe hier ganz unten: https://github.com/contao/core/issues/7010
    Da ist auch ne Lösung drinn. Oder du wartest auf die 3.3.1 ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    Hallo olli1770,
    ist ein bekanntes Problem. Siehe hier ganz unten: https://github.com/contao/core/issues/7010
    Da ist auch ne Lösung drinn. Oder du wartest auf die 3.3.1 ;-)
    Bei mir wirft diese Lösung leider nur ein neues Problem auf und zwar bekomme ich mit der neuen validator.php
    PHP-Code:
    Fatal errorCall to undefined method Contao\Validator::isInsecurePath() in /var/www/www.domain.at/www/system/modules/core/library/Contao/Controller.php on line 67 
    Anscheinend ist das nicht das einzige Problem...

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.520
    User beschenken
    Wunschliste

    Standard

    Hast du nun die 3.3.1 oder höher installiert oder nur gepatcht per Hand?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Hast du nun die 3.3.1 oder höher installiert oder nur gepatcht per Hand?
    Per Hand gepatcht...

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.520
    User beschenken
    Wunschliste

    Standard

    Äh, welche Contao Version hast du installiert? Die isInsecurePath Methode gibt es seit der 3.3.7, damit wäre der Patch enthalten.
    Solltest du ne 3.5.0 mittlerweile habe, die braucht PHP 5.4.0+
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Äh, welche Contao Version hast du installiert? Die isInsecurePath Methode gibt es seit der 3.3.7, damit wäre der Patch enthalten.
    Solltest du ne 3.5.0 mittlerweile habe, die braucht PHP 5.4.0+
    Ok, alles klar... Ich hatte 3.4.5 und habe auf 3.5 upgegradet und dann dort die Validatopr.php Datei gepatcht. Das funktioniert mit PHP 5.3.3 wohl nicht.. ;-)

  8. #8
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Nachtrag in die Runde...

    Da ich auf meinem Server nur PHP 5.3.3 habe, aber CONTAO 3.5.2 nutzen möchte, habe ich nun die CONTAO-Installation gepatcht. Das ist zwar nicht Update sicher, scheint aber im Moment ganz gut zu funktionieren.

    Fürs Protokoll:

    Schritt 1: Die Datei /system/helper/hex2bin.php erstellt.
    Schritt 2: Diesen Code in die Datei hex2bin.php eingebaut:
    PHP-Code:
    <?php
    if ( !function_exists'hex2bin' ) ) {
        function 
    hex2bin$str ) {
            
    $sbin "";
            
    $len strlen$str );
            for ( 
    $i 0$i $len$i += ) {
                
    $sbin .= pack"H*"substr$str$i) );
            }

            return 
    $sbin;
        }
    }
    ?>
    Schritt 3: In /system/initialize.php ungefähr bei Zeile 48 (Helpers) folgendes ergänzt:
    PHP-Code:
    require TL_ROOT '/system/helper/hex2bin.php'
    CONTAO inkludet also den hex2bin "Emulator" und wirft nun zumindest keine Fehler mehr aus. Ich werde jetzt noch genauer testen ob das nicht an anderen Stellen Fehler verursacht. Derzeit sieht es aber nach einem guten Lösungsansatz aus.

    Langfristig gesehen werde ich aber wohl einen Server mit PHP 5.4+ benötigen...

  9. #9
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von cyborgxxl Beitrag anzeigen
    Da ich auf meinem Server nur PHP 5.3.3 habe, aber CONTAO 3.5.2 nutzen möchte, habe ich nun die CONTAO-Installation gepatcht. Das ist zwar nicht Update sicher, scheint aber im Moment ganz gut zu funktionieren.
    Dann hast du keine Erweiterungen im Einsatz, nehme ich an.

    Zitat Zitat von cyborgxxl Beitrag anzeigen
    Langfristig gesehen werde ich aber wohl einen Server mit PHP 5.4+ benötigen...
    Nein, den solltest du kurzfristig haben.
    PHP 5.3 bekommt seit 14 Aug 2014 keinerlei Sicherheitspatches mehr und 5.4 bekommt in 5 Tagen auch KEINERLEI patches mehr.
    Dein Hoster betreibt also ungepflegte Software.

    Auch 5.5 wird schon in 10 Monaten Geschichte sein, lediglich mit 5.6 hast du noch knapp 2 Jahre Freude.
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

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
  •