lithium\test\Integration::_hasNetwork()
Checks for a working internet connection.
This method is used to check for a working connection to google.com, both testing for proper DNS resolution and reading the actual URL.
Parameters
-
array
$config
Override the default URL to check.
Returns
booleanTrue if a network connection is established, false otherwise.
Source
protected function _hasNetwork($config = []) {
$defaults = [
'scheme' => 'http',
'host' => 'google.com'
];
$config += $defaults;
$url = "{$config['scheme']}://{$config['host']}";
$failed = false;
set_error_handler(function($errno, $errstr) use (&$failed) {
$failed = true;
});
dns_check_record($config['host'], 'A');
if ($handle = fopen($url, 'r')) {
fclose($handle);
}
restore_error_handler();
return !$failed;
}