dlとは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 情報 > 記号 > 記号 > dlの意味・解説 

dl

(PHP 4, PHP 5)
dl — 実行時に PHP 拡張モジュールをロードする

説明

int dl ( string library )
library で指定された PHP 拡張モジュールを ロードします。 library に指定できるのは拡張モジュールの ファイル名だけであり、それはプラットフォームに 依存します。例えば、Unix プラットフォームでは sockets 拡張モジュール (共有モジュールとしてコンパイルされていれば。デフォルトでは有りません!) は sockets.so と呼ばれていますし、一方 Windows プラットフォームでは php_sockets.dll と呼ばれます。
成功した場合に TRUE を、失敗した場合に FALSE を返します。 拡張モジュールのロード機能が無効(注意書き参照)だったり、あるいは 無効化されている(enable_dl でオフにされているか または php.iniセーフモード が有効になっている)場合は、 E_ERROR を発行して実行は停止されます。 指定されたライブラリをロードできず dl() が 失敗した場合、FALSE に加えて E_WARNING メッセージが 発行されます。
extension_loaded() で、指定された拡張モジュールが 既に有効かどうか調べることができます。ビルトインの拡張モジュールと 動的なものと両方を調べることができます(php.ini で指定されたものも dl() でロードされたものも)。
PHP 5 では、CLI 以外の あらゆる SAPI において dl() 関数が非推奨となっています。 代わりに、拡張モジュール 読み込み用のディレクティブを利用してください。
例 1724. dl() の例
<?php
// OS によってロードするファイルを切り替える
if (!extension_loaded('sqlite')) {
   if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
       dl('php_sqlite.dll');
   } else {
       dl('sqlite.so');
   }
}

// PHP 4.3.0 では PHP_SHLIB_SUFFIX 定数を利用することも可能
if (!extension_loaded('sqlite')) {
   $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
   dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

拡張モジュールがロードされるディレクトリはプラットフォームによって 違います:
Windows - php.ini に明記されていない場合、デフォルトでは 拡張モジュールは c:\php4\extensions\ から ロードされます。
Unix - php.ini に明記されていない場合、デフォルトでは 以下に依存します。
  • PHP をビルドする際に --enable-debug を指定しているか否か
  • PHP をビルドする際に(実験段階の)ZTS (Zend Thread Safety)サポートを 有効にしているか否か
  • 現在の ZEND_MODULE_API_NO(Zend 内部モジュール API 番号。基本的にはメジャーモジュール API の変更が発生した日時。 例:20010901)
上記を考慮して、ディレクトリのデフォルトは <install-dir>/lib/php/extensions/ <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO となる。 例: /usr/local/php/lib/php/extensions/debug-non-zts-20010901 または /usr/local/php/lib/php/extensions/no-debug-zts-20010901.
注意: dl() はマルチスレッド Web サーバ上では サポートされません。 そのような環境の場合には php.ini 上で extensions 命令を使用するようにしてください。しかし、CGICLI には 影響しません!
注意: PHP 6 以降では、CLI, CGI および埋め込み版 (embed) を除くすべての SAPI でこの関数は無効となっています。
注意: dl() は Unix プラットフォーム上では 大文字小文字を区別します。
注意: この関数は、safe-mode では無効となります。
Extension Loading Directives extension_loaded() も参照してください。




dlと同じ種類の言葉

このページでは「PHP関数リファレンス」からdlを検索した結果を表示しています。
Weblioに収録されているすべての辞書からdlを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からdlを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「dl」の関連用語

dlのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



dlのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS