🚀 服务器环境智能检测工具

自动检测您的服务器运行环境,并提供详细配置信息和优化建议

'info', 'message' => '开始检测服务器环境...']; $log[] = ['type' => 'info', 'message' => 'SERVER_SOFTWARE: ' . htmlspecialchars($serverSoftware)]; // 通过多种方式检测服务器类型 if (stripos($serverSoftware, 'Apache') !== false || function_exists('apache_get_version') || isset($_SERVER['SERVER_SIGNATURE']) && stripos($_SERVER['SERVER_SIGNATURE'], 'Apache') !== false) { $webServer = 'Apache'; $log[] = ['type' => 'success', 'message' => '检测到Apache服务器']; } elseif (stripos($serverSoftware, 'nginx') !== false) { $webServer = 'Nginx'; $log[] = ['type' => 'success', 'message' => '检测到Nginx服务器']; } elseif (stripos($serverSoftware, 'IIS') !== false || stripos($serverSoftware, 'Microsoft-IIS') !== false) { $webServer = 'IIS'; $log[] = ['type' => 'success', 'message' => '检测到Microsoft IIS服务器']; } elseif (stripos($serverSoftware, 'LiteSpeed') !== false) { $webServer = 'LiteSpeed'; $log[] = ['type' => 'success', 'message' => '检测到LiteSpeed服务器']; } else { // 尝试通过其他方式检测 $headers = getallheaders(); $log[] = ['type' => 'info', 'message' => '尝试通过HTTP头信息检测服务器类型']; foreach ($headers as $key => $value) { if (stripos($key, 'server') !== false || stripos($key, 'powered') !== false) { $log[] = ['type' => 'info', 'message' => "HTTP头 {$key}: {$value}"]; } } // 检查特定的服务器标记 if (isset($_SERVER['SERVER_SIGNATURE'])) { $log[] = ['type' => 'info', 'message' => 'SERVER_SIGNATURE: ' . htmlspecialchars($_SERVER['SERVER_SIGNATURE'])]; } $log[] = ['type' => 'warning', 'message' => '无法准确识别Web服务器类型']; } // 检测PHP信息 $phpVersion = phpversion(); $log[] = ['type' => 'success', 'message' => "PHP版本: {$phpVersion}"]; // 检测操作系统 $os = PHP_OS; $log[] = ['type' => 'info', 'message' => "操作系统: {$os}"]; // 检测服务器IP和端口 $serverAddr = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '未知'; $serverPort = isset($_SERVER['SERVER_PORT']) ? $_SERVER['SERVER_PORT'] : '未知'; $log[] = ['type' => 'info', 'message' => "服务器地址: {$serverAddr}:{$serverPort}"]; // 检测PHP运行模式 $phpSapi = php_sapi_name(); $log[] = ['type' => 'info', 'message' => "PHP运行模式: {$phpSapi}"]; // 检测PHP扩展 $extensions = get_loaded_extensions(); $log[] = ['type' => 'info', 'message' => "已加载扩展: " . count($extensions) . " 个"]; // 检测关键模块 $modules = []; $importantModules = ['pdo_mysql', 'mysqli', 'gd', 'curl', 'openssl', 'mbstring', 'json', 'session']; foreach ($importantModules as $module) { $modules[$module] = extension_loaded($module) ? '已启用' : '未启用'; } // 检测.htaccess支持(Apache特有) $htaccessSupport = '未知'; if ($webServer === 'Apache') { $htaccessSupport = '可能支持(Apache默认支持.htaccess)'; } elseif ($webServer === 'Nginx') { $htaccessSupport = '不支持(Nginx需要将规则转换为nginx.conf配置)'; } else { $htaccessSupport = '需根据服务器类型确定'; } // 检测URL重写支持 $rewriteSupport = '未知'; if ($webServer === 'Apache') { $rewriteSupport = function_exists('apache_get_modules') ? (in_array('mod_rewrite', apache_get_modules()) ? '已启用' : '未启用') : '需检查mod_rewrite'; } elseif ($webServer === 'Nginx') { $rewriteSupport = '内置支持(需在配置中启用)'; } // 检测最大上传限制 $maxUpload = ini_get('upload_max_filesize'); $maxPost = ini_get('post_max_size'); $serverInfo = [ 'web_server' => $webServer, 'server_software' => $serverSoftware, 'php_version' => $phpVersion, 'os' => $os, 'server_addr' => $serverAddr, 'server_port' => $serverPort, 'php_sapi' => $phpSapi, 'extensions' => $modules, 'htaccess_support' => $htaccessSupport, 'rewrite_support' => $rewriteSupport, 'max_upload' => $maxUpload, 'max_post' => $maxPost, 'loaded_extensions_count' => count($extensions), 'document_root' => isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : '未知', 'script_filename' => isset($_SERVER['SCRIPT_FILENAME']) ? $_SERVER['SCRIPT_FILENAME'] : '未知', 'request_scheme' => isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'] : (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http'), ]; $log[] = ['type' => 'success', 'message' => '服务器环境检测完成']; return [ 'server_info' => $serverInfo, 'detection_log' => $log ]; } // 执行检测 $detectionResult = detectServerEnvironment(); $serverInfo = $detectionResult['server_info']; $detectionLog = $detectionResult['detection_log']; // 根据服务器类型设置样式类 $serverClass = 'status-unknown'; switch (strtolower($serverInfo['web_server'])) { case 'apache': $serverClass = 'status-apache'; break; case 'nginx': $serverClass = 'status-nginx'; break; case 'iis': $serverClass = 'status-iis'; break; } ?>
📊

服务器信息

  • Web服务器
  • 服务器软件
  • PHP版本
  • 操作系统
  • PHP运行模式
  • 服务器地址
  • 协议
📁

路径与配置

  • 网站根目录
  • 当前脚本路径
  • 最大上传限制
  • POST最大限制
  • URL重写支持
  • .htaccess支持
  • 已加载扩展总数
⚙️

PHP扩展状态

$status): $statusClass = ($status === '已启用') ? 'status-good' : 'status-error'; ?>
🔍

服务器变量示例

    '客户端IP', 'HTTP_USER_AGENT' => '用户浏览器', 'HTTP_ACCEPT_LANGUAGE' => '用户语言', 'REQUEST_METHOD' => '请求方法', 'REQUEST_URI' => '请求URI', 'QUERY_STRING' => '查询字符串', ]; foreach ($sampleVars as $var => $desc): $value = isset($_SERVER[$var]) ? $_SERVER[$var] : '未设置'; if (strlen($value) > 50) { $value = substr($value, 0, 50) . '...'; } ?>
📋

环境检测日志

💡

使用建议