$port, 'file' => $file, 'content' => file_get_contents($file) ]; } return $servers; } $servers = listServerFiles(); $reservedPorts = [80, 8080]; // 合併所有已使用 port 與保留 port $usedPorts = array_unique(array_merge( $reservedPorts, array_map('intval', array_column($servers, 'port')) )); function findRandomAvailablePort($start = 3000, $end = 9000, $usedPorts = []) { $candidates = range($start, $end); shuffle($candidates); foreach ($candidates as $port) { if (!in_array($port, $usedPorts)) { return $port; } } return null; } $autoPort = findRandomAvailablePort(3000, 9000, $usedPorts); $resultMsg = ''; if (isset($_SESSION['resultMsg'])) { $resultMsg = $_SESSION['resultMsg']; unset($_SESSION['resultMsg']); } ?> NGINX 動態 Server 管理

📡 現有 Servers


➕ 新增 Server