PHP DNS functions don't have a timeout while the default timeout for dig is 5 seconds (with several (3) tries)
It should drastically decrease time to get dns records, and lower failure errors like dns_get_record(): A temporary server error occurred.
For now this package is not on Packgist, so you need to add it to your composer.json manually
{
"repositories": [
{
"type": "vcs",
"url": "git@github.com:hostinger/php-dig.git"
}
]
}
Install the latest version with
$ composer require hostinger/php-dig
$client = new \Hostinger\Dig\Client();
$result = $client->getRecord('hostinger.com', DNS_MX);
This is equal to
dns_get_record('hostinger.com', DNS_MX);
Package checks if it can run exec
in server environment, otherwise it will fallback to dns_get_record().
You can set logger to debug / log package activity
$client = new \Hostinger\Dig\Client();
$logger = new \Monolog\Logger\Logger('App');
$logger->pushHandler(new StreamHandler('path/to/your.log'));
$client->setLogger($logger);
- php-dig client works with PHP 8.0 or above.
Bugs and feature request are tracked on GitHub