isActualFile($staticFilePath = $sitePath.$uri)) { return $staticFilePath; } return false; } /** * Get the fully resolved path to the application's front controller. */ public function frontControllerPath(string $sitePath, string $siteName, string $uri): ?string { $uri = rtrim($uri, '/'); $candidates = [ $sitePath.$uri, $sitePath.$uri.'/index.php', $sitePath.'/index.php', $sitePath.'/index.html', ]; foreach ($candidates as $candidate) { if ($this->isActualFile($candidate)) { $_SERVER['SCRIPT_FILENAME'] = $candidate; $_SERVER['SCRIPT_NAME'] = str_replace($sitePath, '', $candidate); $_SERVER['DOCUMENT_ROOT'] = $sitePath; return $candidate; } } return null; } }