ホームページ  >  記事  >  バックエンド開発  >  PHP 拡張機能を動的に表示およびロードする方法

PHP 拡張機能を動的に表示およびロードする方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-06-29 15:40:222622ブラウズ

php.ini のコンパイルと構成が完了した後、PHP 拡張機能が正常にインストールされました。ただし、PHP には、動的ランタイム中に拡張機能のステータスを表示し、php.ini で構成されていない拡張機能を読み込むことができる 2 つの関数も提供されています。次に、その用途を見てみましょう。

PHP 拡張機能を動的に表示およびロードする方法

拡張機能が読み込まれているかどうかを確認する

echo extension_loaded("redis");

非常に単純な関数であり、その機能は拡張機能が読み込まれているかどうかを確認することです。拡張機能がロードされている場合は true、拡張機能がロードされていない場合は false を返すブール値を返します。

PHP-FPM Web ページでは、phpinfo() 関数を使用して、現在の PHP ステータスと拡張機能関連の情報を表示できます。 CLI コマンド ライン スクリプトでは、php -m コマンドを使用して、ロードされた拡張機能を表示できます。

拡張機能の動的読み込み

まず、php.ini で Redis 拡張機能の読み込みをオフにし、dl() を使用できるように、enable_dl=1 もオンにする必要があります。動的にロードする機能が拡張されました。

dl("redis");
echo extension_loaded("redis");
// 1

はい、dl() 関数は拡張機能を動的にロードするために使用される関数です。ただし、使用には多くの制限があり、安全な機能ではありません。そのため、PHP7 では、php.ini の設定enable_dl がデフォルトでオフになっています。また、運用環境で拡張機能を読み込むためにこの方法を使用しないようにしています。

なお、この機能はPHP7のCLI環境でのみ有効です。つまり、PHP-FPM Web環境では、php.iniのenable_dlがONになっていても、この機能は役に立ちません。

拡張機能の読み込みディレクトリは、PHP のデフォルトの拡張機能ディレクトリに基づいて読み込まれます。Windows 環境では、ファイル拡張子は .dll であることに注意してください。拡張機能のロードに失敗すると、この関数は false を返すだけでなく、E_WARNING エラー メッセージも生成されます。最後に、この関数は PHP セーフ モードでも使用できません。

要約すると、運用環境では、拡張機能を動的に読み込む機能を使用しないようにしています。これは学習教材として使用できます。ローカル コンピュータに一度に多くの拡張機能をロードしたくない場合に使用できます。特定の機能をテストする必要があり、特別な拡張機能が必要な場合は、この機能の使用を検討してください。ローカルテスト用です。

推奨学習: php ビデオ チュートリアル

以上がPHP 拡張機能を動的に表示およびロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はimooc.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。