PHP Startup: Unable to load dynamic libraryのエラーの解決方法

[参考記事] Fatal error: Call to undefined function imagecreatefromjpeg()

WindowsでPHPを実行したときに次のようなエラーが出ることがあります。

C:\>php -v
PHP Warning:  PHP Startup: Unable to load dynamic library 'gd' (tried: C:\php\ext\gd (謖・ョ壹&繧後◆繝「繧ク繝・繝シ繝ォ縺瑚ヲ九▽縺九j縺セ縺帙s縲・, C:\php\ext\php_gd.dll (謖・ョ壹&繧後◆繝「繧ク繝・繝シ繝ォ縺瑚ヲ九▽縺九j縺セ縺帙s縲・) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'gd' (tried: C:\php\ext\gd (謖・ョ壹&繧後◆繝「繧ク繝・繝シ繝ォ縺瑚ヲ九▽縺九j縺セ縺帙s縲・, C:\php\ext\php_gd.dll (謖・ョ壹&繧後◆繝「繧ク繝・繝シ繝ォ縺瑚ヲ九▽縺九j縺セ縺帙s縲・) in Unknown on line 0
PHP 8.3.0 (cli) (built: Nov 21 2023 17:48:00) (NTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.3.0, Copyright (c) Zend Technologies
謖・ョ壹&繧後◆繝「繧ク繝・繝シ繝ォ縺瑚ヲ九▽縺九j縺セ縺帙s縲・,

Windowsのコマンドプロンプトは標準では文字コードがShift-JISなので文字化けしています。
[参考記事] コマンドプロンプトの文字コードを変える方法

UTF-8に変更すると次のようなメッセージとなります。

Warning: PHP Startup: Unable to load dynamic library 'gd' (tried: C:\php\ext\gd (指定されたモジュールが見つかりません。), C:\php\ext\php_gd.dll (指定されたモジュールが見つかりません。)) in Unknown on line 0
指定されたモジュールが見つかりません。

拡張モジュールが読み込めないエラーで、PHPを C:\php 以外に配置した場合やextension_dirの指定が間違っている場合に発生します。

解消方法

php.iniを編集して、extension_dirのコメントアウトを外します。

; Directory in which the loadable extensions (modules) reside.
; https://php.net/extension-dir
;extension_dir = "./"
; On windows:
;extension_dir = "ext"
extension_dir = "ext"

ここでextension_dirをextに指定すると、PHPの置かれているフォルダにあるextフォルダ直下を探すことになります。

C:\Program Files\PHP
なら
C:\Program Files\PHP\ext

関連記事

スポンサーリンク

POW関数 べき乗

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る