GeoIP accurate to city

How can I find out the city by IP in php? It is highly desirable that without requests to third-party sites (since speed is needed). Regular geoIP (debian) does not provide the required accuracy (only country), GeoLite City Edition does not provide the same (for my IP, I did not find the city, only the country).

Answer 1, authority 100%

Only based on IP addresses. For example, here.

Answer 2, authority 100%

GeoIP database – countries and cities, June 2011 (+update script).
The great thing is Google.