dl

dl -- Lädt eine PHP-Erweiterung (Extension) zur Laufzeit

Beschreibung

bool dl ( string library)

Lädt die mittels dem Parameter library angegebene PHP-Erweiterung . Der Parameter library ist nur der Dateiname der zu ladenden Erweiterung ( Extension ) , welcher von Ihrer Plattform abhängig ist . Z.B . würde die Extension sockets ( wenn als shared module kompiliert , nicht standardmäßig ! ) auf Unix Plattformen sockets.so , und auf Windows Plattformen php_sockets.dll heißen .

Gibt bei Erfolg TRUE zurück , im Fehlerfall FALSE . Ist die Funktionalität des Ladens von Modulen nicht verfügbar ( siehe Anmerkung) , oder wurde sie deaktiviert (entweder durch Deaktivieren von enable_dl oder durch aktivieren von safe_mode in der php.ini ) , wird ein E_ERROR ausgegeben , und die Ausführung gestoppt . Scheitert dl( ) weil die angegebene Erweiterung nicht geladen werden konnte , wird zusätzlich zu FALSE eine E_WARNING Meldung ausgegeben .

Verwenden Sie extension_loaded( ) um zu testen , ob die gewünschte Erweiterung bereits verfügbar ist oder nicht . Dies funktioniert sowohl bei eingebauten , als auch bei dynamisch geladenen Erweiterungen ( entweder durch php.ini , oder mittels dl( ) ) .

Beispiel :






Das Verzeichnis , von wo aus die Erweiterung geladen wird , hängt von Ihrer Plattform ab :

Windows - Wenn nicht explizit in der php.ini angegeben , wird die Erweiterung standardmäßig von c:\php4\extensions\ geladen .

Unix - Wenn nicht explizit in der php.ini angegeben , hängt das standardmäßige Verzeichnis ab von :

Das obige in Betracht gezogen, ist das standardmäßige Verzeichnis php-install-directory /lib/php/extension/ debug-or-not - zts-or-not -ZEND_MODULE_API_NO , z.B. /usr/local/php/lib/php/extensions/debug-non-zts-20010901 oder /usr/local/php/lib/php/extensions/no-debug-zts-20010901 .

Anmerkung: dl() wird in multithreaded WebServern nicht unterstützt. In solch einer Umgebung verwenden Sie bitte die extensions Anweisung in Ihrer php.ini . Die CGI und CLI Module sind davon jedoch nicht betroffen !

Anmerkung: dl() unterscheidet auf Unix Plattformen zwischen Groß- und Kleinschreibung.

Siehe auch Extension Loading Directives and extension_loaded( ) .