6.1. Dynamische Erweiterungen
Moderne Unix-Dialekte unterstützen das dynamische Linken und Laden von „Dynamic Shared Objects (DSO)“. Damit ist es möglich zur Laufzeit spezielle Teile von Code in laufende Programme zu laden. Dies kann entweder beim Starten über die ld.so oder innerhalb des Programms über explizite Systemaufrufe (dlopen, dlsys) erfolgen. Diese Bibliotheken haben im allgemeinen die Endung .so und liegen in definierten Verzeichnissen (/usr/lib, LD_LIBRARY_PATH) .

Vorteile dieses Vorgehens sind:

  • Einfache Code-Wiederverwertung
  • Programme können leichter erweitert werden
  • Weitere Module können bei Bedarf zugefügt und müssen nicht immer geladen werden.
  • Beim Apache können die Module getrennt vom Server gepflegt werden. (Perl, SSL, ...)

Der Preis für den Einsatz von DSO ist eine bis zu 20% längere Startzeit des Programms und auf einigen Systemen Leistungseinbußen von bis zu 5%.

Um DSO zu nutzen, muss das Modul mod_so bei der Übersetzung aktiviert werden. Dieses muss genauso wie das core-Modul auf jeden Fall statisch eingebaut werden. Anschließend können weitere Module mit „--enable-MODUL=shared“ aktiviert werden.  Bei der Konfiguration des Servers können diese Module per

    LoadModule MODUL_module modules/mod_MODUL.so

Beim Apache 2.x muss die Reihenfolge der Module nicht mehr vorgegeben werden.