(PHP 4, PHP 5, PHP 7)
dl — Belirtilen PHP eklentisini çalışma anında yükler
$kütüphane
)
Kütüphane dosyası kütüphane
değiştirgesi ile
belirtilen PHP eklentisini yükler.
Belli bir eklentinin yüklü olup olmadığını sınamak için, hem yerleşik (php.ini ile yüklenen) hem de devingen olarak (dl() ile) yüklenen eklentileri bulan extension_loaded() işlevini kullanın.
Bu işlevin kullanımı PHP 5.3.0'dan beri ÖNERİLMEMEKTEDİR ve PHP 6.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenmemelisiniz.
eklenti
Bu değiştirge ile eklentinin platforma özgü kütüphane dosyasının ismi belirtilir. Örneğin sockets eklentisini Windows platformunda yüklemek için php_sockets.dll ismini kullanmak gerekirken Unix platformlarında sockets.so kullanmak gerekir (bir paylaşımlı modül olarak derlenmişse).
Eklentinin yükleneceği dizin platforma göre değişiklik gösterir:
Windows - php.ini içinde açıkça belirtilmemişse, eklenti öntanımlı olarak c:\php4\extensions\ dizininden yüklenir.
Unix - php.ini içinde açıkça belirtilmemişse, öntanımlı eklenti dizinin yeri şunlara bağlıdır:
Başarı durumunda TRUE
, başarısızlık durumunda FALSE
döner. Eğer modül yükleme işlevsel değilse
(enable_dl ile iptal edilmiş veya php.ini içinde
safe_mode
etkin kılınmışsa) bir E_ERROR
iletisi
çıktılanıp çalışma durdurulur. Eğer işlev, kütüphane yüklenemediğinden
dolayı başarısız olursa bir E_WARNING
iletisi
çıktılayarak FALSE
döndürür.
Örnek 1 - dl() örnekleri
<?php
// Platforma göre eklenti yüklemek
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}
// PHP 4.3.0 ve sonrası için PHP_SHLIB_SUFFIX sabiti de kullanılabilir
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
Sürüm: | Açıklama |
---|---|
5.3.0 | Artık CLI, CGI ve Embed hariç tüm SAPI'lerde bir E_DEPRECATED üretiliyor. |
Bilginize:
dl() işlevi çok evreli HTTP sunucularında desteklenmez. Böyle bir ortamda çalışıyorsanız php.ini içinde extensions deyimini kullanın. Ancak, CGI ve CLI sürümleri bundan etkilenmez.
Bilginize:
PHP 5'ten beri, dl() işlevinin CLI dışında kullanımı önerilmemektidir. Yerine Eklenti Yükleme Yönergelerini kullanın.
Bilginize:
PHP 6'dan beri bu işlev CLI, CGI ve embed dışında kalan tüm SAPI'lerde kaldırılmıştır.
Bilginize:
dl() işlevinin değiştirgesi Unix platformlarında harf büyüklüğüne duyarlıdır.
Bilginize: Bu işlev, PHP güvenli kipte çalışırken iptal edilir.