PECL 経由で geoip ext をインストールしようとすると、次のようになりました。
C:\Users\admin>pecl install geoip
No releases available for package "pear.php.net/geoip"
install failed
それを正しく行う方法は?
コンパイル済みの DLL は、http: //windows.php.net/downloads/pecl/releases/geoip/ で入手できます。
これらの DLL は、スレッドセーフ (TS) および非スレッドセーフ (NTS) を含む、PHP バージョン 5.3、5.4、および 5.5 を対象としています。PHP 5.3 および 5.4 は x86 で VC9 に対してコンパイルされますが、PHP 5.5 は x86 と x64 の両方で VC11 を使用します。PHP のphpinfo
出力でどちらを使用するかを判断できます。
dll は PHP の拡張ディレクトリに配置する必要があります。これは、インストールによって異なります。phpinfo の出力で "extension" を探して、どのディレクトリ拡張機能がロードされているかを確認してください。最後に、php.ini で有効にします。extension=php_geoip.dll
geoip データベースは、Maxmind のサイトから入手できます。geolite 用の無料のものはhttp://dev.maxmind.com/geoip/legacy/geolite/で入手できます- dat は必ず apache の bin ディレクトリに置いてください。
Windows用のPECL geoip拡張機能が私の問題を解決します。
Windows PHP サイトには次のように記載されています。
「Windows 用の PECL 拡張機能は現在開発中です。pecl Web サイトのインターフェイスは、その Web サイトから直接 Windows DLL をダウンロードできるように更新される可能性が最も高いでしょう。それまでの間、一部の拡張機能はここで見つけることができます。」