';
echo '
| Feature | Status | Test Result |
|---|
';
// cURL test
$curl_available = extension_loaded('curl');
$curl_works = false;
$curl_version = '';
if ($curl_available) {
$curl_version = curl_version();
$ch = @curl_init('https://www.google.com');
if ($ch) {
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_TIMEOUT, 5);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = @curl_exec($ch);
$curl_works = ($result !== false);
@curl_close($ch);
}
}
echo '
';
echo '| cURL Extension | ';
echo '' . ($curl_available ? '✓ Available' : '✗ Not Available') . ' | ';
echo '' . ($curl_works ? '✓ Working' : ($curl_available ? '⚠ May be restricted' : '✗ Not available')) . ' | ';
echo '
';
if ($curl_available && is_array($curl_version)) {
echo '
';
echo '| cURL Version | ';
echo '' . ($curl_version['version'] ?? 'Unknown') . ' | ';
echo '
';
}
// file_get_contents test
$fgc_allowed = ini_get('allow_url_fopen');
$fgc_works = false;
if ($fgc_allowed) {
$ctx = stream_context_create(['http' => ['timeout' => 5]]);
$result = @file_get_contents('https://www.google.com', false, $ctx);
$fgc_works = ($result !== false);
}
echo '
';
echo '| file_get_contents (URL) | ';
echo '' . ($fgc_allowed ? '✓ Allowed' : '✗ Disabled') . ' | ';
echo '' . ($fgc_works ? '✓ Working' : ($fgc_allowed ? '⚠ May be restricted' : '✗ Disabled')) . ' | ';
echo '
';
// fsockopen test
$fsock_available = function_exists('fsockopen');
$fsock_works = false;
if ($fsock_available) {
$fp = @fsockopen('www.google.com', 80, $errno, $errstr, 5);
if ($fp) {
$fsock_works = true;
@fclose($fp);
}
}
echo '
';
echo '| fsockopen | ';
echo '' . ($fsock_available ? '✓ Available' : '✗ Disabled') . ' | ';
echo '' . ($fsock_works ? '✓ Working' : ($fsock_available ? '⚠ May be restricted' : '✗ Disabled')) . ' | ';
echo '
';
// Socket extension
$socket_available = extension_loaded('sockets');
echo '
';
echo '| Sockets Extension | ';
echo '' . ($socket_available ? '✓ Available' : '✗ Not Available') . ' | ';
echo '' . ($socket_available ? 'Low-level socket support enabled' : 'Not available') . ' | ';
echo '
';
echo '';
// DNS functions
echo '
DNS Capabilities:
';
echo '
';
echo '| Function | Status | Test |
';
$dns_test = @gethostbyname('www.google.com');
echo '';
echo '| gethostbyname() | ';
echo '' . (function_exists('gethostbyname') ? '✓ Available' : '✗ Not Available') . ' | ';
echo '' . ($dns_test && $dns_test != 'www.google.com' ? '' . $dns_test . '' : 'Cannot resolve') . ' | ';
echo '
';
$dns_records_available = function_exists('dns_get_record');
echo '';
echo '| dns_get_record() | ';
echo '' . ($dns_records_available ? '✓ Available' : '✗ Not Available') . ' | ';
echo '' . ($dns_records_available ? 'DNS record lookup available' : 'Not available') . ' | ';
echo '
';
echo '
';
?>