public static function setUpBeforeClass() { if ('\\' === DIRECTORY_SEPARATOR) { self::$linkOnWindows = true; $originFile = tempnam(sys_get_temp_dir(), 'li'); $targetFile = tempnam(sys_get_temp_dir(), 'li'); if (true !== @link($originFile, $targetFile)) { $report = error_get_last(); if (is_array($report) && false !== strpos($report['message'], 'error code(1314)')) { self::$linkOnWindows = false; } } else { @unlink($targetFile); } self::$symlinkOnWindows = true; $originDir = tempnam(sys_get_temp_dir(), 'sl'); $targetDir = tempnam(sys_get_temp_dir(), 'sl'); if (true !== @symlink($originDir, $targetDir)) { $report = error_get_last(); if (is_array($report) && false !== strpos($report['message'], 'error code(1314)')) { self::$symlinkOnWindows = false; } } else { @unlink($targetDir); } } }
public static function setUpBeforeClass() { if ('\\' === DIRECTORY_SEPARATOR && null === self::$symlinkOnWindows) { $target = tempnam(sys_get_temp_dir(), 'sl'); $link = sys_get_temp_dir() . '/sl' . microtime(true) . mt_rand(); self::$symlinkOnWindows = @symlink($target, $link) && is_link($link); @unlink($link); unlink($target); } }
public static function setUpBeforeClass() { if (!empty(self::$longPathNamesWindows)) { foreach (self::$longPathNamesWindows as $path) { exec('DEL ' . $path); } } if ('\\' === DIRECTORY_SEPARATOR && null === self::$symlinkOnWindows) { $target = tempnam(sys_get_temp_dir(), 'sl'); $link = sys_get_temp_dir() . '/sl' . microtime(true) . mt_rand(); if (self::$symlinkOnWindows = @symlink($target, $link)) { unlink($link); } unlink($target); } }