GeoIP geoip_region_by_name の使用について
メッセージ
インストール時に気がついたのですが、GeoIPの判定に、 geoip_region_by_name() を利用している為に、 有料にて配布されているGeoIPRegion.datを期待し参照しているようです。 http://www.maxmind.com/en/region
アクセス判定目的に国別のコードしか利用しないのであれば、 geoip_country_code_by_name() にすれば、 無償で配布されている、GeoIP.datになり、 多くの方が利用出来ると思うのですがいかがでしょう?
--- a/wiki-common/lib/main.php Wed Apr 10 14:21:47 2013 +0900 +++ b/wiki-common/lib/main.php Wed Apr 10 15:23:10 2013 +0900 @@ -117,7 +117,7 @@ $country_code = $_SERVER['GEOIP_COUNTRY_CODE']; }else if (function_exists('geoip_db_avail') && geoip_db_avail(GEOIP_COUNTRY_EDITION) && function_exists('geoip_region_by_name')) { // それでもダメな場合は、phpのgeoip_region_by_name()からGeolocationを取得 - $geoip = geoip_region_by_name($remote_addr); + $geoip = @geoip_region_by_name($remote_addr); $country_code = $geoip['country_code']; ↑この辺り
- @を関数の前につけるのは、エラーを消すためですね。あまり提案事項と修正方法が一致していないように見えます。
PukiWiki Adv.では@を関数につけることは動作が重くなるため禁じています。このため、この提案は却下です。(個人的には、独自ドメインを使っている場合、Cloud Flareを使うことを推奨します。この鯖ではCloud Flareの出力するGeoIPを使用しています。) -- Logue?