$available, 'unavailable' => $unavailable ]; } // 检测外部程序 function checkProgram($program, $versionCommand = '--version') { $result = [ 'available' => false, 'version' => '不可用', 'raw_output' => '' ]; // 使用escapeshellarg确保安全 $command = escapeshellcmd($program) . ' ' . $versionCommand . ' 2>&1'; $output = []; $returnCode = 0; // 尝试多种执行方式 if (function_exists('exec')) { @exec($command, $output, $returnCode); if ($returnCode === 0 && !empty($output) && !containsCommandNotFound($output)) { $result['available'] = true; $result['raw_output'] = implode("\n", $output); $result['version'] = $output[0]; return $result; } } if (function_exists('shell_exec')) { $output = @shell_exec($command); if (!empty($output) && !containsCommandNotFound($output)) { $result['available'] = true; $result['raw_output'] = $output; $result['version'] = strtok($output, "\n"); return $result; } } if (function_exists('system')) { ob_start(); @system($command, $returnCode); $output = ob_get_clean(); if ($returnCode === 0 && !empty($output) && !containsCommandNotFound($output)) { $result['available'] = true; $result['raw_output'] = $output; $result['version'] = strtok($output, "\n"); return $result; } } if (!empty($output)) { if (is_array($output)) { $result['raw_output'] = implode("\n", $output); $result['version'] = $output[0] ?? '未知错误'; } else { $result['raw_output'] = $output; $result['version'] = strtok($output, "\n"); } } return $result; } function containsCommandNotFound($output) { if (is_array($output)) { $output = implode(' ', $output); } return stripos($output, 'command not found') !== false || stripos($output, 'not recognized') !== false; } // 执行检测 $phpFunctions = checkPhpFunctions(); $python3 = checkProgram('python3', '--version'); $nodejs = checkProgram('node', '--version'); $npm = checkProgram('npm', '--version'); if ($python3['available']) { $primaryPython = $python3; $primaryPython['name'] = 'python3'; } else { $primaryPython = [ 'available' => false, 'version' => '不可用', 'name' => 'python3', 'raw_output' => '' ]; } ?> 服务器环境检测

服务器环境检测报告

全面检测服务器PHP、Python和Node.js环境状态

注意: 此脚本仅用于检测服务器环境,使用后请及时删除。

可用PHP函数

Python3可用

Node.js可用

PHP命令执行函数检测

可用函数: 无可用函数

不可用函数:

Python环境检测

程序 状态 版本信息 操作
Python3 (python3) 可用 不可用

Python版本: 未检测到Python3

Node.js环境检测

程序 状态 版本信息 操作
Node.js (node) 可用 不可用
NPM (npm) 可用 不可用