Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Welche Fehler mit PHP 5.6 kennt ihr?

    hbauer

    • Experte
    • Beiträge: 1.097
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #15 am: 03. August 2015, 20:20:37
    stimmt. ich bin auch wie im ersten Schritt davon ausgegangen das der Shop schon auf UTF-8 umgestellt ist.

    Gruß

    Hagen

    ChristianRothe

    • Mitglied
    • Beiträge: 181
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #16 am: 03. August 2015, 20:48:05
    Warnungen zu "preg_replace()" kamen keine.
    Die Verwendung von preg_replace ist auch unter PHP 5.6 weiterhin erlaubt. Es kommt nur dann eine Meldung, wenn im Regex-Searchpattern der Modifier "m" verwendet wird. Zwei Beispiele dieser Aufrufe finden sich beispielsweise in der Klasse InputFilter in der Funktion "decode".

    ChristianRothe

    • Mitglied
    • Beiträge: 181
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #17 am: 03. August 2015, 20:53:09
    Damit wieder ISO ausgeliefert wird muss diese Codezeile

    Code: PHP  [Auswählen]
    // set default charset
    @ini_set('default_charset', $_SESSION['language_charset']);

    in folgende Dateien eingefügt werden:

    Alternativ kann man auch in der .htaccess folgenden Eintrag machen:
    Code: PHP  [Auswählen]
    php_value default_charset ISO-8859-15

    jannemann

    • modified Team
    • Beiträge: 6.289
    • Geschlecht:
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #18 am: 03. August 2015, 21:51:33
    Muss jetzt ein Shop, welcher unter PHP 5.6 laufen soll zwingend auf UTF 8 umgestellt werden oder nicht?

    Schöne Grüße,
    Jan

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #19 am: 03. August 2015, 22:29:51
    Nein.
    Es kann nur sein, daß es noch irgendwo im Shop-System Probleme gibt weil beispielsweise bei Verwendung von htmlentities(), html_entity_decode() oder htmlspecialchars() kein Charset gesetzt ist, denn dann wird der Wert der in der php.ini für default_charset gesetzt ist benutzt (meist utf-8).
    Das müsste sich im Testbetrieb aber relativ schnell feststellen lassen.

    Ich meine mich zu erinnern im Experten-Forum mal was dazu geschrieben zu haben weil irgendwo noch hard-codiert das Charset des Shops angegeben war ansatt $_SESSION['language_charset'].

    Gruß,
    noRiddle

    ChristianRothe

    • Mitglied
    • Beiträge: 181
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #20 am: 03. August 2015, 22:33:49
    Nein, ein Shop muss unter PHP 5.6 nicht auf UTF-8 umgestellt werden. Ganz im Gegenteil: In PHP 5.6 wurden viele Änderungen, die PHP 5.4 und 5.5 mit sich brachten, wieder revidiert. In 5.4 und 5.5 erwarteten etliche String-Funktionen einen String in UTF-8-Kodierung als Input. In PHP 5.6 kann man diesen Funktion wieder Strings in anderer Zeichensätzen (z.B. ISO-8859-15) als Input geben, wenn dieser Zeichensatz als Default Character Set definiert wurde.

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #21 am: 04. August 2015, 11:04:21
    Ich kann Christian nur zustimmen, mit PHP 5.6 sind die Bevormundungen aus PHP 5.4/5.5 ad acta gelegt.
    Wenn es das schon in PHP 5.4 gegeben hätte, wäre einem eine Menge Arbeit erspart worden.

    Zu den mögliche Anpassungen:

    ini_set in den PHP Dateien:
    Vorteil: Charset Einstellungen aus den Sprachen werden übernommen.
    Nachteil: Die Datein müssen ziwingen includet werden, das ist bei Fremdmosulen nicht immer sichergestellt.

    Anpassung der .htaccess
    Vorteil: Gilt für das komplette Shopverzeichnis, da sich das auf alle Unterverzeichnisse vererbt.
    Nachteil: Charset gilt für alle Sprachen

    Hier noch eine Alternative für die htaccess (falls die Variante von Christian nicht funktioniert)

    Code: PHP  [Auswählen]
    <Files ~ "\.php?$">
    Header set Content-Type "text/html; charset=ISO-8859-15"
    </Files>

    zu preg_replace:

    Zitat
    Ab PHP 5.5.0 wird bei Übergabe des Modifikators "\e" ein Fehler der Stufe E_DEPRECATED ausgegeben. Ab PHP 7.0.0 wird in diesem Fall ein Fehler der Stufe E_WARNING ausgegeben, und der "\e" Modifikator hat keine Wirkung.

    Also auch hier kein dringender Handlungsbedarf einem Upgrade auf PHP 5.6

    Gruss Web28

    hbauer

    • Experte
    • Beiträge: 1.097
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #22 am: 09. August 2015, 19:11:25
    Kurzer Zwischenstand

    Seit zwei Tagen läuft hier PHP 5.6.12 für  Wheezy von www.dotdeb.org  produktiv.

    Shop war vorher auf UTF8 umgestellt und Deprectated Warnungen werden ignoriert

    Bisher keine Fehler erkennbar.

    Und da ich es grad noch mal gelesen habe:
    https://secure.php.net/archive/2015.php#id2015-08-06-4
    Please note that PHP 5.4 branch is nearing the end of its support timeframe. Either September or October release, depending on discovered issues, will be the last official release of PHP 5.4

    Gruß

    Hagen

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #23 am: 14. August 2015, 14:02:13
    Anbei ein Fixpaket von web28 für Shopversion 1.06 rev 4642 SP2, mit dem PHP 5.6 kein Problem mehr sein sollte.

    Ich bitte um zahlreiche Rückmeldungen! :thx:

    Download des Fixes: Klick mich

    Grüße

    Torsten

    [EDIT Tomcraft 07.10.2015: Fix-Paket in Download-Manager umgezogen.]

    Aladin

    • Mitglied
    • Beiträge: 229
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #24 am: 14. August 2015, 14:12:14
    Hallo Torsten,

    geht der fix auch mit der v1.06 rev 4642 ohne SP?

    Viele Grüße

    Aladin

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #25 am: 14. August 2015, 15:14:22
    In drei Dateien wird nur jeweils diese Zeile (im installer etwas anders)

    Code: PHP  [Auswählen]
    @ini_set('default_charset', $_SESSION['language_charset']);

    hinzugefügt.

    Wenn es die Datei "/includes/modules/set_language_sessions.php" noch nicht gibt muss die Zeile in die Datei "/includes/application_top.php".

    Das wäre dann aber kein 1.06, da gibt es dann evtl. andere Probleme.

    Die obige Zeile sorgt dafür das alle internen PHP Zeichenkonvertierungen auf $charset laufen.
    Wenn also $charset = iso-8859-15 ist funktioniert alles wie gewohnt. Ohne diese Zeile würde auf UTF-8 geschaltet und man hätte massive Umlautprobleme.

    Gruss Web28

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #26 am: 14. August 2015, 17:56:36
    Anbei ein Fixpaket von web28 für Shopversion 1.06 rev 4642 SP2, mit dem PHP 5.6 kein Problem mehr sein sollte.
    [...]

    Seid bitte so lieb und testet auch mal mit PHP 5.5, denn hier kann es durchaus noch zu Problemen kommen!

    Grüße

    Torsten

    hbauer

    • Experte
    • Beiträge: 1.097
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #27 am: 14. August 2015, 21:19:55
    Verstehe ich das richtig das mit dieser Änderung vor allem die Zeichensatzprobleme adressiert wird?

    Wäre es nicht günstig auch die depricated Warnungen gleich mit auszuschalten wenn man schon einen Patch rausbringt?

    Oder habe ich da was übersehen?

    Gruß

    Hagen

    Guenter59

    • Viel Schreiber
    • Beiträge: 1.485
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #28 am: 15. August 2015, 10:00:54
    Darauf hoffe ich auch noch.  :thumbs: bevor ich es umsetze

    GMS

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Welche Fehler mit PHP 5.6 kennt ihr?
    Antwort #29 am: 15. August 2015, 10:45:21
    Das ist ein Fixpaket für 1.06

    Zitat:
    Zitat
    Die Meldung "Deprecated..." (bedeutet: veraltet, überholt) ist keine Fehlermeldung, sondern eine Warnung. Damit soll lediglich angezeigt werden, dass eine PHP-Funktion in der Internetanwendung verwendet wird, die auf Dauer in neueren PHP-Versionen nicht mehr unterstützt wird.

    Es gibt damit für 1.06 keinen dringenden Handlungsbedarf, da alles weiterhin fehlerfrei funktioniert.

    In der neuen 2.00 Version sind diese Warnungen aber selbstverständlich gefixt.

    Gruss Web28
    2 Antworten
    2908 Aufrufe
    06. November 2009, 21:45:09 von Tomcraft
    4 Antworten
    4367 Aufrufe
    13. August 2009, 08:21:57 von ESTUGO
    19 Antworten
    9143 Aufrufe
    30. Januar 2013, 09:10:02 von noRiddle (revilonetz)
    6 Antworten
    4567 Aufrufe
    04. Juni 2012, 18:14:09 von karl