dl()
Version från den 13 oktober 2024 kl. 06.47 av Admin (diskussion | bidrag)
dl
PHP Versioner: PHP 4, PHP 5, PHP 7, PHP 8
Beskrivning
`dl` laddar en PHP-tilläggsmodul vid körning (runtime). Detta gör det möjligt att dynamiskt lägga till funktionalitet i PHP-skript utan att behöva starta om servern eller ändra `php.ini`. Funktionen är endast tillgänglig för CLI och inbäddade SAPIs, samt för CGI SAPI när den körs från kommandoraden.
Syntax
bool dl ( string $extension_filename )
Parametrar
- $extension_filename
Filnamnet på tillägget som ska laddas. Filnamnets format varierar beroende på operativsystem: ** Unix/Linux: ** Till exempel `sockets.so` ** Windows: ** Till exempel `php_sockets.dll` Notera: Tillägget måste vara en delad modul (shared module) och inte inbyggd i PHP.
Sökväg till tilläggsfiler: * Windows: Om det inte är angivet i `php.ini`, laddas tillägget från `C:\php5\` som standard. * Unix/Linux: Om det inte är angivet i `php.ini` beror standardkatalogen för tillägg på: * Om PHP har byggts med `--enable-debug` * Om PHP har byggts med ZTS (Zend Thread Safety) stöd * ZEND_MODULE_API_NO (Zend internal module API nummer), vilket baseras på datumet då en större förändring av modul-API:t skedde, t.ex. `20010901` Med dessa inställningar hamnar katalogen i `<install-dir>/lib/php/extensions/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO`, t.ex. `/usr/local/php/lib/php/extensions/debug-non-zts-20010901` eller `/usr/local/php/lib/php/extensions/no-debug-zts-20010901`.
Returvärden
- true
Vid lyckad laddning av tillägget.
- false
Vid misslyckad laddning. Om funktionen inte är tillgänglig eller inaktiverad (via `enable_dl` satt till `off` i `php.ini`), genereras ett `E_ERROR` och exekveringen stoppas. Vid misslyckad laddning av tillägget genereras också ett `E_WARNING` utöver att `false` returneras.
Exempel
Exempel #1: Ladda ett tillägg baserat på operativsystem
<?php // Kontrollerar om 'sqlite' tillägget redan är laddat if (!extension_loaded('sqlite')) { if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { dl('php_sqlite.dll'); } else { dl('sqlite.so'); } } // Eller använda PHP_SHLIB_SUFFIX konstanten if (!extension_loaded('sqlite')) { $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : ''; dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX); } ?>
Förväntad utdata:
- Om tillägget laddas framgångsrikt kan du använda de funktioner som tillägget erbjuder.
- Vid misslyckad laddning visas varningsmeddelanden.
Noteringar
- `dl()` är skiftlägeskänslig på Unix-plattformar.
- Funktionen är begränsad till vissa SAPIs (CLI och embedded SAPI) och kan vara inaktiverad av säkerhetsskäl i `php.ini`.
Relaterade Funktioner
- extension_loaded - Kontrollerar om ett tillägg är laddat.
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.dl.php
PHP Funktioner Funktionsreferens
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp och Datorservice som har sponsrat Linux.se med webserver.