Nehmen Sie den folgenden Code ein:NumberFormatter :: Formatcurrency() -Ausgabe auf verschiedenen Plattformen
$formatter = new NumberFormatter('fr_FR', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency('-1.23', 'EUR');
auf Fedora 25, der Ausgang ist -1,23 €
, die die Ausgabe ich erwarten würde.
Auf CentOS 7 ist jedoch der Ausgang (1,23 €)
; nicht ganz explizit für ein französisches Publikum.
Woher kommen diese Unterschiede? Ich vermute, dass sie von der libicu
Version kommen, die auf dem System installiert ist, aber ich brauche eine Bestätigung darüber. Ich bin mir auch nicht sicher, ob PHP die auf dem System installierte ICU-Version verwendet oder eine Version, die zur Kompilierungszeit gebündelt ist.
CentOS 7 hat libicu-50.1.2-15
und 25 Fedora hat libicu-57.1-4
, aber PHP-Versionen sind die auf beiden Systemen gleich, und alle Pakete aus demselben Repository (remi), so dass, wenn ICU mit PHP gebündelt wurde, würde ich ihre Versionen erwarten identisch sein.
Danke Remi, ich hatte nicht erwartet, eine Antwort von Ihnen persönlich zu bekommen :) Dies verdeutlicht, welche libicu Version PHP verwendet. Denkst du, dass mein Problem dann definitiv mit der libicu-Version zusammenhängt? – Benjamin
Ja, sehr wahrscheinlich –
Danke. Ich versuche, 'libicu' zu aktualisieren, um dies zu überprüfen, aber ich habe Probleme, ein aktualisiertes' libicu'-Paket zu finden, das mit CentOS 7 kompatibel ist. Falls Sie interessiert sind, habe ich [diese Frage zu unix.stackexchange gestellt] (http://unix.stackexchange.com/q/342918/30018). – Benjamin