pack('I', ) - verschiedene Ergebnisse PHP 5.5.15 - PHP 5.6.2

  • EDIT2:
    Das Problem liegt nicht an Win/Linux, sondern an PHP 5.5.15 <> PHP 5.6.2.
    pack() liefert auf PHP 5.6.2 entweder Multibytes,
    oder mb_ functions sind auf PHP 5.6.2 buggy.


    Fakt:
    PHP 5.5.15 -- mb_strlen( pack("I", 194) ) === 4
    PHP 5.6.2 -- mb_strlen( pack("I", 194) ) === 3


    Was genau jetzt hier falsch läuft weiß ich noch nicht.



    EDIT:
    Kürzer:
    warum bekomme ich auf "nicht Windows" 3 byte wenn $sequence >= 194 ?
    bsp:



    EDIT END


    Moin,
    weiß jemand was ich hier nicht sehe oder weiß?
    Die Funktion encodeHeader() sollte eigtl immer 4 byte zurückgeben - macht sie auch auf Windows (xampp).
    Aufm Linux Server nicht. Da bekomme ich IMMER ab $sequence 194 nur 3 byte (nutze mb_strlen()) -
    obwohl (und das versteh ich überhabt nicht) vardump() einen string von 4 ausgibt.
    output Bsp:

    Zitat


    $sequence: 194
    $packed_header: mb_strlen: 3
    var_dump($packed_header): string(4) "�@"


    Wie gesagt - Auf win xampp bekomm ich immer 4 byte. Warum aber nicht bei Linux?


    Evtl kann mir auch jemand gleich erklären was ($sequence + 1) & 0x3fffffff bewirkt =)


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!