Synology‑PHP zu alt: ICU 64.2 verhindert MediaWiki 1.43.x – Paketzentrum betroffen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Elrob

Benutzer
Registriert
03. Juli 2018
Beiträge
64
Reaktionspunkte
1
Punkte
14
Ich frage mich ernsthaft, wie Synology ein MediaWiki 1.43.5 im Paketzentrum anbieten kann, wenn die DSM‑PHP‑Pakete technisch gar nicht in der Lage sind, diese Version zu betreiben.

DSM liefert weiterhin eine veraltete ICU 64.2 aus, die fest in PHP ein kompiliert ist und vom Nutzer nicht aktualisiert werden kann. MediaWiki ab 1.38 benötigt aber mindestens ICU 70, empfohlen wird sogar 72+.

Wie soll das funktionieren?
Die Antwort ist: Es funktioniert nicht. MediaWiki 1.43.x bricht auf DSM bei Unicode‑Migrationen ab, sortiert Kategorien falsch und wirft Warnungen über die veraltete ICU‑Version. Klar eine leere neue Installation funktioniert, Daten ausfüllen funktioniert... Die Probleme entstehen beim Migrieren

Warum bietet Synology dann ein Paket an, das auf der eigenen Plattform nicht lauffähig ist?

Hier die Fakten:

• DSM‑PHP: ICU 64.2 (veraltet, nicht updatefähig)• MediaWiki 1.43.x: benötigt ICU 70+• Ergebnis: Paketzentrum liefert ein Paket, das technisch inkompatibel ist

Frage an die Community:
• Ist das Problem bekannt?
• Hat jemand eine funktionierende Installation von MediaWiki 1.43.x auf DSM ohne Docker?
• Warum aktualisiert Synology die ICU‑Version nicht, obwohl sie seit Jahren veraltet ist?
• Und warum wird ein Paket ausgeliefert, das auf DSM gar nicht laufen kann?

Ich bin gespannt, ob Synology oder andere Nutzer hierzu eine Erklärung haben.
 
Keine Sorge habe ich gemacht... Es geht ja nur darum dass uns synology alte software unterjubelt.
 
Zuletzt bearbeitet:
When you say "migrating" do you mean migrating existing data from an older MediaWiki version to the latest MediaWiki version?

If yes, then that would be a MediaWiki package issue when upgrading.
 
Nein, mit „migrating“ meine ich nicht das Aktualisieren von MediaWiki‑Daten oder Inhalten. Der Punkt ist ein anderer:

MediaWiki 1.43.x funktioniert grundsätzlich – aber nicht auf DSM, weil Synology‑PHP eine veraltete ICU‑Version (64.2) enthält.

Das ist kein MediaWiki‑Bug, sondern eine technische Inkompatibilität:

• MediaWiki 1.38+ benötigt ICU 70+
• Synology‑PHP liefert ICU 64.2
• ICU ist fest in PHP einkompiliert
• Der Nutzer kann ICU nicht aktualisieren
• Ergebnis: Unicode‑Migrationen und Sortierungen brechen ab

Das Problem tritt also unabhängig von meinen Daten oder meiner bestehenden Installation auf.
Ich habe es mit einer komplett frischen, leeren MediaWiki‑1.43‑Installation getestet – exakt dasselbe Verhalten.

Kurz gesagt:
Es geht nicht um das Migrieren meiner Inhalte, sondern darum, dass MediaWiki 1.43.x auf DSM technisch nicht lauffähig ist, solange Synology eine veraltete ICU‑Version ausliefert und nicht die Mediawiki vorgaben einhält.

----
No, by “migrating” I do not mean migrating my existing MediaWiki content or upgrading an old wiki.The issue is not related to my data at all.

The problem is purely technical:

MediaWiki 1.38+ requires ICU 70 or newer. Synology’s PHP package ships with ICU 64.2.

ICU is compiled directly into PHP, so:

  • the user cannot update ICU
  • the user cannot recompile PHP
  • the package cannot be fixed manually
  • MediaWiki 1.43.x cannot run correctly on DSM because of this mismatch
To be clear:I tested this with a completely fresh, empty MediaWiki 1.43 installation — no old data, no migration, no upgrade.The same error occurs immediately.

So this is not a MediaWiki package issue. It is a Synology‑PHP issue, because the PHP package includes an outdated ICU version that MediaWiki 1.43.x cannot officially work with.
 
I just checked my unpacked DSM .pat files and uconv v2.1 ICU 64.2 is part of all DSM 7.x versions. DSM 6.2.4 had uconv v2.1 ICU 56.1. I also checked Synology's PHP packages (8.1 to 8.4) and they don't include uconv.

So the issue is caused by DSM itself having an old version of ICU and not an issue with the PHP packages.

I wondered if I could "borrow" a newer x86_64 version of the uconv binary from Asustor's ADM 5 but it does not seem to have uconv.
 
Danke DaveR – aber hier liegt ein entscheidender technischer Denkfehler vor.

Ja, DSM enthält ein veraltetes uconv (ICU 64.2). Aber: MediaWiki verwendet dieses uconv überhaupt nicht.

MediaWiki nutzt ICU ausschließlich über die PHP‑intl‑Extension. Und diese ist bei Synology statisch mit ICU 64.2 kompiliert.

Das bedeutet:

  • Selbst wenn DSM morgen ICU 80.0 hätte
  • würde MediaWiki trotzdem ICU 64.2 sehen
  • weil PHPs intl‑Modul die ICU‑Version fest eingebaut hat
Damit ist die Aussage „Das Problem liegt an DSM, nicht an PHP“ technisch falsch.

👉 Das Problem liegt an beiden: DSM liefert altes ICU, und PHP liefert ebenfalls altes ICU.Für MediaWiki ist aber das ICU in PHP entscheidend.

Und laut offizieller MediaWiki‑Dokumentation benötigt MediaWiki 1.43.x:

  • Minimum: ICU 70
  • Empfohlen: ICU 72
  • Ideal: ICU 74–76 (Wikimedia‑Produktivsysteme)
Quelle (offiziell):https://www.mediawiki.org/wiki/Wikimedia_Technical_Operations/ICU_announcement (mediawiki.org in Bing)

Solange Synology PHP mit ICU 64.2 ausliefert, ist MediaWiki 1.43.x auf DSM objektiv nicht lauffähig.Das Paketzentrum bietet damit ein Paket an, das technisch inkompatibel ist.

---------

Thanks DaveR — but this conclusion misses the core of the problem.

Yes, DSM ships an outdated uconv (ICU 64.2).But MediaWiki does not use DSM’s uconv at all. That part is irrelevant.

MediaWiki relies exclusively on the ICU version that is compiled into PHP’s intl extension.And Synology’s PHP 8.1–8.4 packages are all statically compiled with ICU 64.2.

So even if DSM magically shipped ICU 80 tomorrow, MediaWiki would still see ICU 64.2 — because PHP’s intl module drags that outdated ICU version along with it.

This means:

  • The issue is not DSM vs. PHP
  • The issue is DSM + PHP together
  • And for MediaWiki, the only ICU version that matters is the one inside PHP
And here is the uncomfortable truth:

👉 MediaWiki 1.43.x requires ICU 70 or newer. Synology ships ICU 64.2. Therefore MediaWiki 1.43.x cannot run correctly on DSM. Period.

This is not my opinion — it is explicitly documented by MediaWiki/Wikimedia:

Official requirement (ICU ≥ 70): https://www.mediawiki.org/wiki/Wikimedia_Technical_Operations/ICU_announcement (mediawiki.org in Bing)

So the situation is very simple:

  • Synology ships PHP with an ICU version from 2019
  • MediaWiki 1.43.x requires an ICU version from 2022+
  • Synology still offers MediaWiki 1.43.x in the Package Center
  • The result is a package that is technically incompatible by design
If Synology wants MediaWiki to work, they must:

  1. Rebuild PHP with ICU ≥ 70
  2. Or downgrade MediaWiki in the Package Center
  3. Or officially declare MediaWiki unsupported on DSM
Right now, the Package Center offers a version of MediaWiki that cannot possibly work with the PHP/ICU stack Synology ships.That’s not a user misconfiguration — that’s a packaging failure.

This is not a “MediaWiki bug”.This is a platform‑level Unicode infrastructure problem.

If Synology wants to support modern applications, they need to update ICU — both in DSM and in PHP.

Right now, DSM is stuck on a Unicode engine from 2019.
 

Synology PHP is dead for MediaWiki 1.43.x

Let me keep this short so even the last remaining doubters can follow.

1. Synology ships PHP 8.2 and 8.4 with prehistoric ICU 64.2.

Not “old”.Not “outdated”.I mean prehistoric.

Proof (SSH):
8.2 root@Zeitlos-NAS:~# php82 -i | grep -i icu
ICU version => 64.2
ICU Data version => 64.2
ICU TZData version => 2019a
ICU Unicode version => 12.1
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

8.3 root@Zeitlos-NAS:~# php83 -i | grep -i icu
-ash: php83: command not found

root@Zeitlos-NAS:~# php80 -i | grep -i icu
-ash: php80: command not found

8.4 root@Zeitlos-NAS:~# php84 -i | grep -i icu
ICU version => 64.2
ICU Data version => 64.2
ICU TZData version => 2019a
ICU Unicode version => 12.1
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Synology ships ICU 64.2 from 2019.MediaWiki 1.43.x is from 2024.

This compatibility gap is about as realistic as plugging USB‑C into a floppy disk.

And now the knockout punch: Docker PHP 8.3 uses ICU 76.1.

I installed MediaWiki 1.43.x in Docker. And guess what?

Docker PHP 8.3 provides ICU 76.1 and Unicode 16.0.

root@Zeitlos-NAS:/volume1/docker/mediawiki-php83# docker exec -it php83-mediawiki php -i | grep -i icu
ICU version => 76.1
ICU Data version => 76.1
ICU TZData version => 2024b
ICU Unicode version => 16.0
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This is exactly what MediaWiki 1.43.x requires.

And now the fun part:

➡️ The MediaWiki installer worked because it used Docker PHP 8.3 ➡️ NOT Synology PHP➡️ NOT Web Station➡️ NOT the “PHP 8.3” that never existed

Conclusion: Synology PHP is unusable for modern web software.

  • PHP 8.2 → ICU 64.2 → unusable
  • PHP 8.4 → ICU 64.2 → unusable
  • PHP 8.3 → does not exist → unusable
  • MediaWiki 1.43.x → requires ICU ≥ 70 → impossible
Only Docker provides modern ICU versions.

My suggestion to Synology:

If you insist on shipping PHP packages, then please:

  • not with 7‑year‑old ICU
  • not with Unicode 12.1
  • not with 2019 TZData
  • not with half‑baked implementations
Either do it properly or don’t do it at all.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat