拡張モジュールのディレクトリを設定 - Windows環境
当ページのリンクには広告が含まれています。
PHPにはさまざまな動的拡張モジュール(DLL、Dynamic Link Library)が用意されています。これらを利用するためには、拡張モジュールのディレクトリを設定する必要があります。それでは、設定方法をみていきましょう。
拡張モジュールのディレクトリを設定せずに、DLLをロードしようとすると……以下のように怒られます。
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php\php_mbstring.d ll' - 指定されたモジュールが見つかりません。
extension_dir - php.iniの設定
php.iniファイルに拡張モジュールのディレクトリ(extension_dir)の設定があらかじめ記述されているので、コメント(;)をはずすだけで、設定できます。
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext" ← コメント(;)をはずします。
これで設定完了です。
設定の確認
phpinfo()で、適切に設定できているかを確認しましょう。phpinfo()はコマンドプロンプトやApache経由で確認できます。
phpinfo() - コマンドプロンプト
コマンドプロンプトを起動し、phpコマンドで確認します。以下のように設定したディレクトリ「ext」が表示されれば、適切に設定できています。※findstrコマンドで「extension_dir」という文字列を含む行を検索しています。linuxのgrepコマンドと似ていますね。
C:\>php -r phpinfo(); | findstr extension_dir extension_dir => ext => ext
phpinfo() - Apache
コマンドプロンプトでの確認と異なり、Apache経由で設定を確認する場合はApacheを再起動し、設定変更を反映します。次にphpinfo()を確認します。それではみてみましょう。
「Core」という項目に「extension_dir」があるので、「ext」となっていれば、適切に設定できています。