public static function parseFile($ini) {
		if (!file_exists($ini)) {
			throw new Exception(sprintf('Missing TinyAuth config file (%s)', $ini));
		}

		if (function_exists('parse_ini_file')) {
			$iniArray = parse_ini_file($ini, true);
		} else {
			$content = file_get_contents($ini);
			if ($content === false) {
				throw new Exception('Cannot load INI file.');
			}
			$iniArray = parse_ini_string($content, true);
		}

		if (!is_array($iniArray)) {
			throw new Exception(sprintf('Invalid TinyAuth config file (%s)', $ini));
		}
		return $iniArray;
	}