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
66
Reaktionspunkte
2
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.
 
  • Like
Reaktionen: luddi
@Elrob

das solltest du aber besser an Synology melden, hier kann kaum jemand was bewirken, dies ist nicht von Synology betrieben hier
 
Ich möchte hier ein technisches Problem dokumentieren, das sich eindeutig reproduzieren lässt und moderne Software auf Synology‑Systemen verhindert.

1. Problem: Synology‑PHP ist fest an eine veraltete System‑ICU 64.2 gebunden

Egal welche PHP‑Version über das Paketzentrum installiert wird (PHP 8.2 oder 8.4) – beide melden:

Code

ICU version => 64.2
Unicode version => 12.1

Das bedeutet:

  • PHP nutzt nicht die ICU, die PHP normalerweise selbst mitbringt
  • sondern immer die veraltete System‑ICU von DSM
  • und diese ist seit Jahren nicht aktualisiert
Damit ist jede moderne Software, die eine aktuelle ICU benötigt, auf Synology technisch ausgeschlossen.

2. Vergleich: Docker‑PHP funktioniert sofort

Im Docker‑Container (offizielles PHP‑Image) meldet PHP:

Code

ICU version => 76.1
Unicode version => 16.0
MediaWiki 1.43.x läuft dort ohne Probleme.

Das zeigt eindeutig:

  • Das Problem liegt nicht an MediaWiki
  • Das Problem liegt nicht an PHP
  • Das Problem liegt ausschließlich an der veralteten System‑ICU von DSM

3. DSM 7.3 verhindert jede Analyse der PHP‑Builds

Unter DSM fehlen sämtliche Standard‑Tools wie:

  • ldd
  • readelf
  • strings
Selbst die SynoCli‑Pakete liefern diese Tools nicht nach.

Damit lässt sich nicht einmal prüfen, wie PHP gelinkt wurde – was bei jedem anderen Linux‑System selbstverständlich ist.

Das wirkt nicht wie eine moderne, transparente Build‑Chain, sondern eher wie ein System, das man nicht zu genau untersuchen soll.

4. Konsequenz: MediaWiki 1.43.x ist im Paketzentrum nicht lauffähig

MediaWiki 1.43.x benötigt eine aktuelle ICU (≥ 72).

Synology liefert jedoch:

  • PHP 8.2/8.4
  • aber mit ICU 64.2 (2019!)
Damit ist die Installation über das Paketzentrum technisch unmöglich, unabhängig von Konfiguration oder Benutzerfehlern.

5. Fazit

Synology überschreibt die PHP‑eigene ICU mit der veralteten System‑ICU 64.2 .Das ist technisch unsauber, verhindert moderne Software und wirkt wie eine sehr nachlässige Implementierung.

Solange Synology:

  • die System‑ICU nicht aktualisiert
  • oder PHP nicht gegen eine aktuelle ICU kompiliert
wird MediaWiki 1.43.x (und andere moderne Software) nicht im Paketzentrum laufen.

------

Synology PHP is crippled by outdated ICU 64.2 – and DSM 7.3 deliberately prevents users from exposing it

After several days of analysis, I can now state this without any doubt:

Synology’s PHP packages are fundamentally broken.

And DSM 7.3 actively prevents users from proving it.

Let me break it down.


1. Synology PHP is hard‑linked to an ancient ICU 64.2 (from 2019!)

No matter which PHP version you install from Package Center (8.2 or 8.4), PHP always reports:

Code

ICU version => 64.2
Unicode version =&gt; 12.1<br>
This means:

  • PHP does not use its own bundled ICU
  • PHP is forced to use Synology’s outdated system ICU
  • Synology has not updated this core component for years
This alone makes modern software impossible.


2. MediaWiki 1.43.x requires ICU ≥ 72 — Synology ships ICU 64.2

Result:

**MediaWiki 1.43.x cannot run on Synology’s PHP.​

Not because of MediaWiki.Not because of PHP.But because Synology ships a prehistoric ICU.**

Docker PHP (same version!) reports:

Code

ICU version =&gt; 76.1<br>Unicode version =&gt; 16.0<br>
And MediaWiki works instantly.

So the problem is 100% Synology.


3. DSM 7.3 intentionally removes all Linux tools that would expose this mess

On every normal Linux system, you can inspect binaries with:

  • ldd
  • readelf
  • strings
On Synology DSM 7.3:

  • these tools do not exist
  • BusyBox is stripped down
  • SynoCli packages do NOT include them
  • even the “File Tools” and “Monitor Tools” packages contain zero binary‑analysis utilities
This is not an accident.

This is a deliberate design choice.

Synology prevents users from inspecting how their PHP binaries are built.

Because if we could, we would immediately see the sloppy linking against ICU 64.2.

This is not “security”. This is not “minimalism”. This is obfuscation.


4. The result: Synology PHP is unusable for modern web applications

Any software requiring:

  • modern Unicode
  • modern collation
  • modern ICU features
  • proper internationalization
…will simply not run on Synology’s PHP.

This includes:

  • MediaWiki 1.43.x
  • many Laravel apps
  • modern Symfony apps
  • anything relying on intl/ICU ≥ 72
Synology’s PHP is stuck in 2019.


5. Conclusion (and yes, this needs to be said clearly)

Synology overwrites PHP’s own ICU with an outdated system ICU 64.2.

This is sloppy programming, poor architecture, and completely unacceptable for a NAS marketed as “professional”.

DSM 7.3 then removes all Linux tools that would allow users to expose this mistake.

This is not a “bug”.This is not “bad luck”.This is a systemic design failure.

Until Synology:

  • updates the system ICU
  • or compiles PHP with a modern ICU
  • or stops overriding PHP’s bundled ICU
modern software will remain impossible on Synology’s Package Center PHP.
 
@Elrob

das solltest du aber besser an Synology melden, hier kann kaum jemand was bewirken, dies ist nicht von Synology betrieben hier

Danke für den Hinweis.
Mir ist bewusst, dass dieses Forum nicht von Synology selbst betrieben wird und hier keine direkten Entwickler mitlesen. Trotzdem halte ich es für wichtig, das Thema auch hier transparent zu dokumentieren – gerade weil viele Nutzer ähnliche Probleme haben, aber die Ursache nicht kennen.

Ich habe das Verhalten bereits an Synology gemeldet. Der Beitrag hier dient vor allem dazu, die technische Analyse für andere nachvollziehbar zu machen.

Denn unabhängig davon, wer das Forum betreibt, bleibt ein Punkt bestehen:

Synology liefert PHP fest an eine veraltete System‑ICU 64.2 gebunden aus und entfernt gleichzeitig zentrale Linux‑Werkzeuge (ldd, readelf, strings), die normalerweise zur Analyse solcher Probleme dienen.

Ob das Absicht oder historisch gewachsen ist, kann ich nicht beurteilen. Fakt ist jedoch:

  • Die fehlenden Tools erschweren jede technische Überprüfung
  • Die veraltete ICU verhindert moderne Software wie MediaWiki 1.43.x
  • Und ohne Dokumentation bleibt die Ursache für viele Nutzer im Dunkeln
Gerade deshalb ist es sinnvoll, die Analyse hier im Forum zu teilen – damit andere Betroffene die Hintergründe verstehen und nicht stundenlang nach Konfigurationsfehlern suchen, die es gar nicht gibt, denn dazu ist ein Forum auch da...
 
Zuletzt bearbeitet:

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