補足ですが、php.iniに加え、Apacheも再起動してます。
▽1
●
rouge_2008 ●300ポイント ベストアンサー |
コマンドライン版とサーバー版のPHPで、読み込んでいる設定ファイル「php.ini」が違うのかもしれません。
コマンドラインで「php --ini」を実行し、「phpinfo()」の結果の「Loaded Configuration File」と比較してみてください。
・PHP: PHP 拡張モジュールの Windows へのインストール - Manual
http://php.net/manual/ja/install.pecl.windows.php
しかし、ウェブサーバーによっては少し迷うことがあるかもしれません。 というのも、php.ini が PHP 実行ファイルとは別の場所にあることもあるからです。 実際に使われている php.ini の場所を見つけるには、 phpinfo() で次のような行を探します。
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File C:\Program Files\PHP\5.2\php.ini
上記がコマンドライン(Cli)版とサーバー版で異なっていた場合、サーバーのPHPがモジュール版PHPの場合はApacheの設定ファイル「httpd.conf」等に「php.ini」の場所を指定する記述を追加します。
PHPIniDir "Cli版のPHPが参照している「php.ini」のディレクトリまでのパス"
※ブロック内ではない場所に記述します。
・php.iniの配置場所の指定(PHPIniDir)
http://www.adminweb.jp/apache/php/index3.html
CGI版のPHPの場合、本体と同じ位置にある「php.ini」を自動的に読み込みますので、そちらの「php.ini」にモジュール読み込みの記述を追加します。
※モジュール版PHPの場合も上記の設定を行わず、「Loaded Configuration File」で確認した「php.ini」に設定し直しても良いと思います。
どちらでも好きな方法を試してみてください。(どちらのPHPも頻繁に利用する場合は、同一の設定ファイルを参照するようにした方がいいと思います。)
【※ 追記 ※】
PHP実行ファイル(「php.exe」等)がCli版とCGI版で違う場所にある場合、Cli版やCGI版ではコンパイル後に設定ファイルの場所を変更指定をする事はできないと思いましたので、「C:\WINDOWS」に「php.ini」をコピー移動(あるいはコピーして元ファイルは名前変更)して、同じ設定ファイルを参照するようにしてみてください。(※Cli版およびCGI版では、PHP実行ファイルと同じディレクトリの「php.ini」が優先されます。)
あるいはWindowsの環境変数を変更して、Cli版のPHPをサーバー版と同じディレクトリにあるPHPを利用するようにしても良いと思います。
【※ 追記 ※】
さらに追記します。
「php.ini」の場所に問題がない場合は、「extension_dir」の設定値を確認してみてください。
「extension_dir = "ext"」のようにフォルダ名だけ指定してある場合、Cli版やCGI版からは正常に使用できても、モジュール版では認識できない事もあるようです。
「extension_dir = "C:\php\ext"」のようにパスを指定すると正常に認識されます。