I'm targetting my question to the scientiamobile support desk.
Before buying a commercial license, we are doing some tests with the self-hosted WURFL php project (http://sourceforge.net/projects/wurfl/f ... RFL%20PHP/ version 1.5.0).
Because free users don't have access to the up-to-date version of the device database, we are using the free and outdated version of the database. During our tests, we have noticed that device detection didn't work at all for iOS7 devices. After doing some research, we discovered that PHP gets out of memory because of an infinite loop in the WURFL PHP code, probably because the free database doesn't contain any information about iOS7 yet.
Our apache error logs contains thousands of these php notices and gets out of memory:
Code: Select all
PHP Notice: Trying to get property of non-object in /var/www/..../vendor/wurfl-php-1.5.0.0/WURFL/CustomDeviceRepository.php on line 209
...
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /var/www/.../vendor/wurfl-php-1.5.0.0/WURFL/CustomDeviceRepository.php on line 208
Code: Select all
/**
* Returns an array containing all devices from the root
* device to the device of the given $deviceId
*
* @param string $deviceId
* @return array All WURFL_Device objects in the fallback tree
*/
public function getDeviceHierarchy($deviceId) {
$devices = array();
while (strcmp($deviceId, "root")) {
$device = $this->getDevice($deviceId);
$devices[] = $device;
/* 209 */ $deviceId = $device->fallBack;
}
return $devices;
}
Thanks for your support.
Cliff