Title: Achtung
mod_so Laden ausführbaren Codes und ausführbarer Module beim Serverstart Erweiterung mod_so.c so_module Basismodul für Windows (immer vorhanden) Bei bestimmten Betriebssystemen können mit diesem Modul mit Hilfe des Dynamic Shared Object-Verfahrens (DSO) während der Laufzeit Module geladen werden, ohne dass ein erneutes Kompilieren erforderlich ist.
Unter Unix stammt der geladene Code normalerweise aus Shared Object-Dateien (meist mit der Endung
.so). Unter Windows lauten die Dateinamenserweiterungen.sooder.dll.Apache 1.3-Module können von Apache 2.0 nicht ver- wendet werden. Sie müssen modifiziert werden, um zusammen mit Apache 2.0 übersetzt oder von Apache 2.0 dynamisch geladen werden zu können.
Ladbare Module für Windows erzeugen Hinweis Das Namensformat für Windows-Module wurde mit den Apache-Versionen 1.3.15 und 2.0 geändert. Sie heißen jetzt
mod_foo.so.
mod_solädt zwar weiterhin Module mit dem NamensmusterApacheModuleFoo.dll, die neue Namenskonvention ist aber vorzuziehen. Denken Sie daran, den Namen gleich mit zu korrigieren, wenn Sie einen Modul an (die API von) Apache 2.0 an- passen.Die Modul-API der Apache-Server für Unix und Windows unterscheiden sich nicht. Viele Unix-Module laufen unter Windows ohne oder nur mit geringfügigen Änderungen, während Module, die auf solchen Eigenarten, des Betriebssystems Unix basieren, die unter Windows nicht vorhanden sind, dort nicht funktionieren werden.
Funktioniert ein Modul, dann kann es dem Server auf zwei Arten hinzugefügt werden. Wie unter Unix kann es beim Kompilieren in den Server eingebunden werden. Da Apache für Windows nicht das
Configure-Programm der Unix-Version enthält, müssen die Quelldatei des Moduls derApacheCore-Projektdatei und deren Symbole der Dateios\win32\modules.chinzugefügt werden.Das Modul kann aber auch als DLL kompiliert werden. Eine DLL ist eine gemeinsam genutzte Bibliothek, die mit der Direktive
während der Ausführung in den Server geladen werden kann. Diese Modul-DLLs können weitergegeben werden und funktionieren unter jeder Windows-Installation des Apache-Servers, ohne daß der Apache-Server dafür neu übersetzt werden muß.LoadModule Um eine Modul-DLL zu erzeugen, muss an der Quelldatei des Moduls eine kleine Änderung vorgenommen werden: Der Moduldatensatz muss aus der DLL exportiert werden (die später erzeugt wird, siehe unten). Hierfür fügt man
AP_MODULE_DECLARE_DATA(definiert in den Apache Header-Dateien) der Datensatzdefinition des Moduls hinzu. Zum Beispiel muss:module foo_module; ersetzt werden durch:
module AP_MODULE_DECLARE_DATA foo_module; Diese Änderung hat nur unter Windows Auswirkungen, unter Unix kann das Modul bei Bedarf auch so verwendet werden. Wenn Sie sich mit
.DEF-Dateien auskennen, können Sie das Modul auch mit dieser Methode exportieren.Anschließend erzeugen Sie eine DLL für dieses Modul. Hierfür muss die Exportbibliothek
libhttpd.libeingebunden werden, die beim Kompilieren der Bibliotheklibhttpd.dllerzeugt wird. Möglicherweise müssen auch die Compiler-Einstellungen geändert werden, um sicherzustellen, dass die Apache Header-Dateien gefunden werden. Die Bibliothek befindet sich im Modulverzeichnis des Servers. Es empfiehlt sich, eine.dsp-Datei eines vorhandenen Moduls zu benutzen, um sicherzustellen, dass die Einrichtungsumgebung korrekt konfiguriert ist. Alternativ können auch Compiler- und Link-Optionen der.dsp-Datei verglichen werden.Auf diese Weise sollten Sie nun eine DLL mit Ihrem Modul erzeugt haben. Sie wird sie im Verzeichnis
modulesunter der Server-Root platziert und mit derLoadModule -Direktive geladen.LoadFile Einbinden der angegebenen Objektdatei oder Bibliothek. LoadFile Dateiname [Dateiname] ... server config Die
LoadFile-Direktive bindet beim Serverstart oder Neustart die genannten Objektdateien oder Bibliotheken ein.Auf diese Weise kann zusätzlicher Code geladen werden, der für bestimmte Module erforderlich sein kann. Der Dateiname ist entweder ein absoluter Pfad oder er wird relativ zur ServerRoot angegeben.Zum Beispiel:
LoadFile libexec/libxmlparse.so LoadModule Bindet die Objektdatei oder Bibliothek ein und fügt sie der Liste der aktiven Module hinzu. LoadModule module Dateiname server config Die
LoadModule-Direktive bindet die mit Dateiname angegebene Objektdatei oder Bibliothek ein und fügt die Modulstruktur mit der Bezeichnung module der Liste der aktiven Module hinzu. Module ist der Name der externen Variablen vom Typmodulein der Datei und wird als Modul-Bezeichner in der Moduldokumentation aufgeführt. Beispiel:LoadModule status_module modules/mod_status.so Diese Anweisung lädt das angegebene Modul aus dem Verzeichnis
modulesunterServerRoot.--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
