🔍 Server Diagnostics Report

Generated:

📊 Basic Server Information

Server Software

PHP Version

Server Name

Server IP

Document Root

Server Protocol

Operating System

Server Admin

⚙️ PHP Configuration & Limits
ini_get('memory_limit'), 'max_execution_time' => ini_get('max_execution_time') . ' seconds', 'max_input_time' => ini_get('max_input_time') . ' seconds', 'post_max_size' => ini_get('post_max_size'), 'upload_max_filesize' => ini_get('upload_max_filesize'), 'max_file_uploads' => ini_get('max_file_uploads'), 'max_input_vars' => ini_get('max_input_vars'), 'default_socket_timeout' => ini_get('default_socket_timeout') . ' seconds', 'allow_url_fopen' => ini_get('allow_url_fopen') ? 'On' : 'Off', 'allow_url_include' => ini_get('allow_url_include') ? 'On' : 'Off', 'file_uploads' => ini_get('file_uploads') ? 'Enabled' : 'Disabled', 'session.save_path' => ini_get('session.save_path'), 'upload_tmp_dir' => ini_get('upload_tmp_dir') ?: 'Default', 'disable_functions' => ini_get('disable_functions') ?: 'None', 'open_basedir' => ini_get('open_basedir') ?: 'Not restricted', ]; foreach ($configs as $key => $value) { $status = ''; if ($key == 'allow_url_fopen' && $value == 'On') $status = '✓ Good'; elseif ($key == 'allow_url_include' && $value == 'Off') $status = '✓ Secure'; elseif ($key == 'file_uploads' && $value == 'Enabled') $status = '✓ Enabled'; elseif ($key == 'disable_functions' && $value != 'None') $status = '⚠ Limited'; echo ""; echo ""; echo ""; echo ""; echo ""; } ?>
Configuration Value Status
" . htmlspecialchars($key) . "" . htmlspecialchars($value) . "$status
🔌 Loaded PHP Extensions
'; echo '

Important Extensions Status:

'; echo '
'; foreach ($important_extensions as $ext) { $loaded = extension_loaded($ext); $badge_class = $loaded ? 'badge-success' : 'badge-danger'; $icon = $loaded ? '✓' : '✗'; echo "$icon $ext"; } echo '
'; echo '

All Loaded Extensions (' . count($extensions) . '):

'; echo '
'; foreach ($extensions as $ext) { echo "$ext"; } echo '
'; ?>
🗄️ Database Connectivity
MySQL/MariaDB Support:'; echo ''; echo ''; // Check mysqli $mysqli_available = extension_loaded('mysqli'); echo ''; echo ''; echo ''; echo ''; echo ''; // Check PDO MySQL $pdo_mysql = extension_loaded('pdo_mysql'); echo ''; echo ''; echo ''; echo ''; echo ''; // Check PDO if (extension_loaded('pdo')) { $drivers = PDO::getAvailableDrivers(); echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
FeatureStatusDetails
MySQLi Extension' . ($mysqli_available ? '✓ Available' : '✗ Not Available') . '' . ($mysqli_available ? 'Client version: ' . mysqli_get_client_info() : 'N/A') . '
PDO MySQL' . ($pdo_mysql ? '✓ Available' : '✗ Not Available') . '' . ($pdo_mysql ? 'Modern database abstraction layer' : 'N/A') . '
PDO Drivers' . count($drivers) . ' Available' . implode(', ', $drivers) . '
'; // phpMyAdmin check echo '

phpMyAdmin Availability:

'; $possible_phpmyadmin_paths = [ '/phpmyadmin', '/phpMyAdmin', '/pma', '/mysql', '/db' ]; echo ''; echo ''; foreach ($possible_phpmyadmin_paths as $path) { $full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http') . '://' . $_SERVER['SERVER_NAME'] . $path; echo ''; echo ''; echo ''; echo ''; } echo '
Common PathTest Link
' . htmlspecialchars($path) . 'Test Link →
'; echo '
'; echo '💡 InfinityFree Database Access
'; echo 'Access phpMyAdmin through: VistaPanel → MySQL Databases → phpMyAdmin button'; echo '
'; ?>
📧 Email Functionality
'; echo 'FeatureStatusDetails'; // Check mail function $mail_enabled = function_exists('mail'); echo ''; echo 'mail() Function'; echo '' . ($mail_enabled ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($mail_enabled ? 'PHP mail function is enabled' : 'Function disabled') . ''; echo ''; // SMTP settings $smtp_settings = [ 'SMTP' => ini_get('SMTP'), 'smtp_port' => ini_get('smtp_port'), 'sendmail_from' => ini_get('sendmail_from'), 'sendmail_path' => ini_get('sendmail_path') ]; foreach ($smtp_settings as $key => $value) { echo ''; echo '' . htmlspecialchars($key) . ''; echo '' . ($value ? 'Set' : 'Not Set') . ''; echo '' . htmlspecialchars($value ?: 'Default/Not configured') . ''; echo ''; } echo ''; echo '
'; echo '⚠️ InfinityFree Email Limitations
'; echo 'Important: InfinityFree has strict limitations on the mail() function:
'; echo '
    '; echo '
  • Very limited sending capacity (may be disabled)
  • '; echo '
  • Emails often end up in spam folders
  • '; echo '
  • Recommended: Use external SMTP services like Gmail SMTP, SendGrid, Mailgun, or Amazon SES
  • '; echo '
  • Use PHPMailer or SwiftMailer libraries with SMTP
  • '; echo '
'; // Test if we can use SMTP libraries echo '

Email Libraries Support:

'; echo ''; echo ''; $openssl = extension_loaded('openssl'); echo ''; echo ''; echo ''; echo ''; echo ''; $curl = extension_loaded('curl'); echo ''; echo ''; echo ''; echo ''; echo ''; echo '
LibraryRequirementsStatus
PHPMailer/SMTPOpenSSL for TLS/SSL' . ($openssl ? '✓ Supported' : '✗ Missing OpenSSL') . '
API-based (SendGrid, etc.)cURL or allow_url_fopen' . ($curl ? '✓ Supported' : '⚠ Limited') . '
'; ?>
📁 File System & Permissions
'; echo 'TestResultDetails'; // Test file creation $test_file = 'test_write_' . time() . '.txt'; $can_write = @file_put_contents($test_file, 'test'); echo ''; echo 'File Write'; echo '' . ($can_write ? '✓ Writable' : '✗ Not Writable') . ''; echo '' . ($can_write ? 'Can create and write files' : 'Cannot write to current directory') . ''; echo ''; // Test file read $can_read = false; if ($can_write) { $can_read = @file_get_contents($test_file) === 'test'; } echo ''; echo 'File Read'; echo '' . ($can_read ? '✓ Readable' : '✗ Not Readable') . ''; echo '' . ($can_read ? 'Can read files' : 'Cannot read files') . ''; echo ''; // Test file delete $can_delete = false; if ($can_write) { $can_delete = @unlink($test_file); } echo ''; echo 'File Delete'; echo '' . ($can_delete ? '✓ Can Delete' : '✗ Cannot Delete') . ''; echo '' . ($can_delete ? 'Can delete files' : 'Cannot delete files') . ''; echo ''; // Test directory creation $test_dir = 'test_dir_' . time(); $can_mkdir = @mkdir($test_dir); echo ''; echo 'Directory Creation'; echo '' . ($can_mkdir ? '✓ Can Create' : '✗ Cannot Create') . ''; echo '' . ($can_mkdir ? 'Can create directories' : 'Cannot create directories') . ''; echo ''; if ($can_mkdir) { @rmdir($test_dir); } // Disk space $free_space = @disk_free_space('.'); $total_space = @disk_total_space('.'); echo ''; echo 'Disk Space'; echo '' . ($free_space ? 'Available' : 'Unknown') . ''; echo '' . ($free_space ? 'Free: ' . formatBytes($free_space) . ' / Total: ' . formatBytes($total_space) : 'Cannot determine') . ''; echo ''; echo ''; // Directory permissions echo '

Directory Information:

'; echo ''; echo ''; $dirs_to_check = [ 'Current Directory' => '.', 'Document Root' => $_SERVER['DOCUMENT_ROOT'] ?? '.', 'Temp Directory' => sys_get_temp_dir() ]; foreach ($dirs_to_check as $name => $path) { if (file_exists($path)) { $perms = substr(sprintf('%o', fileperms($path)), -4); $writable = is_writable($path); echo ''; echo ''; echo ''; echo ''; echo ''; } } echo '
PathPermissionsWritable
' . htmlspecialchars($name) . '
' . htmlspecialchars(realpath($path)) . '
' . $perms . '' . ($writable ? '✓ Yes' : '✗ No') . '
'; ?>
🌐 Network & External Connections
'; echo 'FeatureStatusTest 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 ''; $dns_test = @gethostbyname('www.google.com'); echo ''; echo ''; echo ''; echo ''; echo ''; $dns_records_available = function_exists('dns_get_record'); echo ''; echo ''; echo ''; echo ''; echo ''; echo '
FunctionStatusTest
gethostbyname()' . (function_exists('gethostbyname') ? '✓ Available' : '✗ Not Available') . '' . ($dns_test && $dns_test != 'www.google.com' ? '' . $dns_test . '' : 'Cannot resolve') . '
dns_get_record()' . ($dns_records_available ? '✓ Available' : '✗ Not Available') . '' . ($dns_records_available ? 'DNS record lookup available' : 'Not available') . '
'; ?>
🔒 Security & Restrictions
'; echo 'Security FeatureStatusValue'; $security_settings = [ 'safe_mode' => ini_get('safe_mode'), 'open_basedir' => ini_get('open_basedir'), 'disable_functions' => ini_get('disable_functions'), 'disable_classes' => ini_get('disable_classes'), 'expose_php' => ini_get('expose_php'), 'display_errors' => ini_get('display_errors'), 'log_errors' => ini_get('log_errors'), 'error_reporting' => error_reporting(), ]; foreach ($security_settings as $key => $value) { $status = ''; $display_value = $value ?: 'Not set'; if ($key == 'safe_mode') { $status = $value ? 'Enabled' : 'Disabled'; $display_value = $value ? 'On (Deprecated)' : 'Off'; } elseif ($key == 'open_basedir') { $status = $value ? 'Restricted' : 'Not Restricted'; } elseif ($key == 'disable_functions' || $key == 'disable_classes') { $status = $value ? '⚠ Some Disabled' : '✓ None'; } elseif ($key == 'expose_php') { $status = $value ? 'Exposed' : '✓ Hidden'; } echo ''; echo '' . htmlspecialchars($key) . ''; echo '' . $status . ''; echo '' . htmlspecialchars(substr($display_value, 0, 100)) . (strlen($display_value) > 100 ? '...' : '') . ''; echo ''; } echo ''; // Disabled functions detail $disabled_funcs = ini_get('disable_functions'); if ($disabled_funcs) { echo '
'; echo '⚠️ Disabled Functions:
'; echo '' . htmlspecialchars($disabled_funcs) . ''; echo '
'; } ?>
⚡ Performance & Resources
'; // Memory usage $memory_usage = memory_get_usage(true); $memory_peak = memory_get_peak_usage(true); $memory_limit = ini_get('memory_limit'); echo '
'; echo '

Current Memory Usage

'; echo '

' . formatBytes($memory_usage) . '

'; echo '
'; echo '
'; echo '

Peak Memory Usage

'; echo '

' . formatBytes($memory_peak) . '

'; echo '
'; echo '
'; echo '

Memory Limit

'; echo '

' . $memory_limit . '

'; echo '
'; // CPU info if (function_exists('sys_getloadavg')) { $load = sys_getloadavg(); echo '
'; echo '

Server Load (1min)

'; echo '

' . round($load[0], 2) . '

'; echo '
'; } echo '
'; echo '

Resource Tests:

'; echo ''; echo ''; // Script execution time test $start_time = microtime(true); for ($i = 0; $i < 100000; $i++) { $temp = md5($i); } $exec_time = microtime(true) - $start_time; echo ''; echo ''; echo ''; echo ''; echo ''; // String operations $start_time = microtime(true); $str = ''; for ($i = 0; $i < 10000; $i++) { $str .= 'test'; } $string_time = microtime(true) - $start_time; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
TestResultDetails
CPU PerformanceTested100K MD5 hashes: ' . round($exec_time * 1000, 2) . ' ms
String OperationsTested10K concatenations: ' . round($string_time * 1000, 2) . ' ms
'; ?>
🍪 Session & Cookies
'; echo 'SettingValue'; $session_settings = [ 'session.save_handler' => ini_get('session.save_handler'), 'session.save_path' => ini_get('session.save_path'), 'session.name' => ini_get('session.name'), 'session.auto_start' => ini_get('session.auto_start') ? 'On' : 'Off', 'session.cookie_lifetime' => ini_get('session.cookie_lifetime') . ' seconds', 'session.cookie_path' => ini_get('session.cookie_path'), 'session.cookie_domain' => ini_get('session.cookie_domain') ?: 'Not set', 'session.cookie_secure' => ini_get('session.cookie_secure') ? 'Yes' : 'No', 'session.cookie_httponly' => ini_get('session.cookie_httponly') ? 'Yes' : 'No', 'session.use_cookies' => ini_get('session.use_cookies') ? 'Yes' : 'No', 'session.gc_maxlifetime' => ini_get('session.gc_maxlifetime') . ' seconds', ]; foreach ($session_settings as $key => $value) { echo ''; echo '' . htmlspecialchars($key) . ''; echo '' . htmlspecialchars($value) . ''; echo ''; } echo ''; // Test session functionality echo '

Session Test:

'; $session_works = false; try { if (session_status() == PHP_SESSION_NONE) { @session_start(); } $_SESSION['test'] = 'working'; $session_works = ($_SESSION['test'] == 'working'); } catch (Exception $e) { $session_works = false; } echo '
'; echo $session_works ? '✓ Sessions are working correctly' : '✗ Session functionality is not working'; echo '
'; ?>
🖼️ Image Processing
'; echo 'LibraryStatusDetails'; // GD Library $gd_available = extension_loaded('gd'); echo ''; echo 'GD Library'; echo '' . ($gd_available ? '✓ Available' : '✗ Not Available') . ''; echo ''; if ($gd_available) { $gd_info = gd_info(); echo 'Version: ' . ($gd_info['GD Version'] ?? 'Unknown'); } else { echo 'Not installed'; } echo ''; echo ''; if ($gd_available) { $gd_info = gd_info(); $formats = [ 'JPEG Support' => $gd_info['JPEG Support'] ?? false, 'PNG Support' => $gd_info['PNG Support'] ?? false, 'GIF Create Support' => $gd_info['GIF Create Support'] ?? false, 'WebP Support' => $gd_info['WebP Support'] ?? false, 'FreeType Support' => $gd_info['FreeType Support'] ?? false, ]; foreach ($formats as $format => $supported) { echo ''; echo '' . $format . ''; echo '' . ($supported ? '✓ Supported' : '✗ Not Supported') . ''; echo ''; } } // ImageMagick $imagick_available = extension_loaded('imagick'); echo ''; echo 'ImageMagick'; echo '' . ($imagick_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($imagick_available ? 'Advanced image processing available' : 'Not installed') . ''; echo ''; // Exif $exif_available = extension_loaded('exif'); echo ''; echo 'EXIF Support'; echo '' . ($exif_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($exif_available ? 'Can read image metadata' : 'Not available') . ''; echo ''; echo ''; ?>
📦 Compression & Archives
'; echo 'FormatStatusFunctions'; // ZIP $zip_available = extension_loaded('zip'); echo ''; echo 'ZIP'; echo '' . ($zip_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($zip_available ? 'ZipArchive class available' : 'Not available') . ''; echo ''; // ZLIB $zlib_available = extension_loaded('zlib'); echo ''; echo 'ZLIB (gzip)'; echo '' . ($zlib_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($zlib_available ? 'gzcompress, gzuncompress available' : 'Not available') . ''; echo ''; // BZ2 $bz2_available = extension_loaded('bz2'); echo ''; echo 'BZ2 (bzip2)'; echo '' . ($bz2_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($bz2_available ? 'bzcompress, bzdecompress available' : 'Not available') . ''; echo ''; // RAR $rar_available = extension_loaded('rar'); echo ''; echo 'RAR'; echo '' . ($rar_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($rar_available ? 'RAR archive support' : 'Not available') . ''; echo ''; echo ''; ?>
💾 Caching Systems
'; echo 'Cache SystemStatusDetails'; // OPcache $opcache_available = extension_loaded('Zend OPcache'); $opcache_enabled = false; if ($opcache_available) { $opcache_enabled = ini_get('opcache.enable'); } echo ''; echo 'OPcache'; echo '' . ($opcache_enabled ? '✓ Enabled' : ($opcache_available ? 'Available but disabled' : '✗ Not Available')) . ''; echo '' . ($opcache_enabled ? 'PHP opcode caching active' : 'Not active') . ''; echo ''; // APCu $apcu_available = extension_loaded('apcu'); echo ''; echo 'APCu'; echo '' . ($apcu_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($apcu_available ? 'User cache available' : 'Not available') . ''; echo ''; // Memcached $memcached_available = extension_loaded('memcached'); echo ''; echo 'Memcached'; echo '' . ($memcached_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($memcached_available ? 'Distributed caching available' : 'Not available') . ''; echo ''; // Redis $redis_available = extension_loaded('redis'); echo ''; echo 'Redis'; echo '' . ($redis_available ? '✓ Available' : '✗ Not Available') . ''; echo '' . ($redis_available ? 'Redis caching available' : 'Not available') . ''; echo ''; echo ''; ?>
🌍 Server Environment Variables
'; echo 'VariableValue'; $important_vars = [ 'SERVER_SOFTWARE', 'SERVER_NAME', 'SERVER_ADDR', 'SERVER_PORT', 'DOCUMENT_ROOT', 'SCRIPT_FILENAME', 'REQUEST_METHOD', 'QUERY_STRING', 'HTTP_HOST', 'HTTP_USER_AGENT', 'REMOTE_ADDR', 'REMOTE_PORT', 'SERVER_PROTOCOL', 'REQUEST_TIME', 'HTTPS' ]; foreach ($important_vars as $var) { if (isset($_SERVER[$var])) { echo ''; echo '' . htmlspecialchars($var) . ''; echo '' . htmlspecialchars($_SERVER[$var]) . ''; echo ''; } } echo ''; ?>
🚀 InfinityFree Specific Information
📋 InfinityFree Hosting Limitations:
  • Disk Space: Unlimited (with fair usage policy)
  • Bandwidth: Unlimited (with fair usage policy)
  • MySQL Databases: Unlimited databases
  • FTP Accounts: Unlimited
  • Email Accounts: Not available on free plan
  • Cron Jobs: Not available on free plan
  • SSL: Free SSL certificates available
⚠️ Known Restrictions:
  • Some functions may be disabled for security (check Disabled Functions section)
  • Email sending via mail() is severely limited - use SMTP instead
  • Execution time limits are enforced
  • CPU and memory usage is monitored
  • External connections may be restricted
  • File uploads are limited in size

Recommended Tools & Libraries:

Purpose Recommended Solution Why
Email Sending PHPMailer with Gmail SMTP Reliable delivery, avoid spam folders
Database Management phpMyAdmin via VistaPanel Official access method provided by InfinityFree
File Management FTP/SFTP or File Manager Reliable file operations
Caching File-based caching Memcached/Redis not available