I'm using Luke Holder's Geo plugin and it's been working great, so far. I'm testing on mobile and while it works fine on my Android device, visiting the site on two different iPhone 6s has resulted in the following error:

Internal Server Error
Undefined property: stdClass::$traits

Line 94 in https://github.com/lukeholder/craft-geo/blob/master/geo/services/Geo_LocationService.php is responsible but I haven't yet figured out why it's doing it, nor how to prevent it.

Both phones are on a different mobile network (O2 in the UK) to my Android device (Three). I've tested on an iPhone SE (Tesco, which piggy-backs O2) and that's fine. So it's either the iPhone 6 that's the problem, or their network. But manually entering the Nekudo URL with the IP addresses reveals nothing different.

http://geoip.nekudo.com/api/ (IP of Android device)

http://geoip.nekudo.com/api/ (IP of one of the iPhone 6s)

The site is not in devMode (everything is fine when it is). I can't understand why the same server would return a server error for one phone and not another phone. There was an issue with the plugin returning this error when using a local IP address but I don't think that applies here. I ahve noticed that the two phones in question are locating to London, 100 miles away from their true location - could that be a clue?

Any ideas?

  • Getting this error on Mac Chrome Desktop as well – mcclaskiem Sep 28 '17 at 15:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.