dl(): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= Sidslut = Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.dl.php PHP Funktioner Funktionsreferens <HR> 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/ <BR><BR>Tack till [https://datorhjalp.se Datorhjälp och Datorservice] som har sponsrat [https://www.linux.se Linux.se] med webserver. K...')
 
Ingen redigeringssammanfattning
Rad 1: Rad 1:
== 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 ===
<pre>
bool dl ( string $extension_filename )
</pre>
=== 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 ====
<pre>
<?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);
}
?>
</pre>
'''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.
[[Kategori:PHP Funktioner]]
[[Kategori:Tilläggshantering]]
[[Kategori:Systemfunktioner]]
= Sidslut =
= Sidslut =
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.dl.php
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.dl.php



Versionen från 13 oktober 2024 kl. 06.47

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


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.