Я использую сервис GeoIP от MaxMind как таковой:
<?php include("geoip/geoip.inc"); include("geoip/geoipcity.inc"); include('geoip/geoipregionvars.php'); $gi = geoip_open("http://watchandrepeat.com/GeoLiteCity.dat", GEOIP_STANDARD); ?>
Оказывается, API-интерфейс geo_open использует fseek, и он не работает на моем веб-сервере:
Warning: fseek() [function.fseek]: stream does not support seeking in /hsphere/local/home/yudaluz/watchandrepeat.com/geoip/geoip.inc on line 319
На момент написания этой статьи вы видите, что это не работает здесь: http://watchandrepeat.com/indextest.php
Я использую IxWebHosting, и я попросил их поддержку у клиентов, если можно включить поиск на своем сервере Apache, так как он отлично работает на моем локальном хосте. Они сказали следующее: «Мне очень жаль, но на нашем общем сервере невозможно включить такую функцию. Я бы рекомендовал вам использовать наши планы VPS или Cloud-хостинга. Вы сможете настроить свой собственный сервер так, как вы хочу «.
Есть ли какая-нибудь работа вокруг?
Из руководства по PHP :
«Не все потоки поддерживают поиск. Для тех, кто не поддерживает поиск, поиск вперед с текущей позиции достигается путем чтения и отбрасывания данных, другие формы поиска не сработают».
HTTP
– один из тех потоков, которые не поддерживают поиск. Это именно то, что заявляет ваше сообщение об ошибке, stream [HTTP] does not support seeking
. Относитесь к своей базе данных как к локальному и избавляйтесь от URL-адреса, и он должен работать.