diff --git a/PHPCI/Controller/ProjectController.php b/PHPCI/Controller/ProjectController.php index d424f376..aae1bbb1 100644 --- a/PHPCI/Controller/ProjectController.php +++ b/PHPCI/Controller/ProjectController.php @@ -89,6 +89,15 @@ class ProjectController extends b8\Controller else { $tempPath = sys_get_temp_dir() . '/'; + + // FastCGI fix for Windows machines, where temp path is not available to + // PHP, and defaults to the unwritable system directory. If the temp + // path is pointing to the system directory, shift to the 'TEMP' + // sub-folder, which should also exist, but actually be writable. + if ($tempPath == getenv("SystemRoot") . '/') { + $tempPath = getenv("SystemRoot") . '/TEMP/'; + } + $id = $tempPath . md5(microtime(true)); if (!is_dir($tempPath)) { mkdir($tempPath);