#1 (permalink)  
Alt 05.09.2008, 14:32
xt:Commerce Support Kunde
 
Registriert seit: 14.02.2008
Beiträge: 3
Standard Datumsformat auf Windows Server per setlocale nicht nutzbar

Hallo zusammen,
ich entwickle für einen Kunden ein Webportal indem unter anderem xtc als Shopsoftware eingesetzt wird.

Die Architektur Windows 2003 Server R2, Apache2.2.x, php5.2.x als mod_php

Innerhalb dieser Konfiguration ist allerdings die Datumsanzeige die über function xtc_date_long( ) erzeugt wird nicht nutzbar.
Da die Direktive setlocale,die in den lang.php Dateien gesetzt wird, nicht für den Thread in dem das Skript läuft sondern für den gesamten Prozess (indem mehrere Threads laufen)wirkt, kann und kommt es vor, dass das Datumsformat einer anderen Sprache (also z.B. Sprache Deutsch ausgewählt, aber Wochentag und Monatsname in Englisch) ausgegeben wird. Nach bisherigen Tests kommt das in bis zu 30% Aufrufe von xtc_date_long vor.

Dieses Phänomen ist auch so in der PHP Doku beschrieben.
Zitat:
Warnung
Die Locale-Informationen wirken auf den Prozess, nicht auf den Thread. Sofern Sie PHP mit einer Multithreaded Server API wie IIS oder Apache unter Windows einsetzen, rechnen Sie mit unerwarteten Änderungen der Locale-Einstellungen zur Laufzeit des Skripts, auch wenn das Skript selbst keinen setlocale()-Aufruf durchführt. Dies passiert, da andere Skripte in verschiedenen Threads des selben Prozesses zur selben Zeit prozessweit die Locale-Einstellungen mittels setlocale() ändern.
Da eine Änderung der Systemarchitektur nicht in Frage kommt (Apache with prefork oder php als cgi) bleibt wohl (bis php6 dann soll setlocale auch in multithreaded umgebungen laufen) erst mal keine andere Lösung als Datumsanzeigen mit Wochentag und Monatsnamen per Skript abhängig von der $_SESSION['language'] zusammen zusetzen.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
datumsformat, nutzbar, server, setlocale, windows

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand