Bug #105713
openSite sets setup.typoscript not loaded on Windows 10
0%
Description
Currently on Windows 10 operating system, the new Site Sets setup.typoscript is not loaded with TYPO3 13.4.1 Version.
class: TYPO3\CMS\Core\TypoScript\IncludeTree\SysTemplateTreeBuilder
method: handleSetInclude
private function handleSetInclude(IncludeInterface $parentNode, string $path, string $label): void
{
echo $path; // 'D:/vhosts/xxx/test-t13.local/vendor/typo3/cms-fluid-styled-content/Configuration/Sets\FluidStyledContent/'
$path = GeneralUtility::getFileAbsFileName($path);
echo $path; // ''
Quick Hotfix:
private function handleSetInclude(IncludeInterface $parentNode, string $path, string $label): void
{
echo $path; // 'D:/vhosts/xxx/test-t13.local/vendor/typo3/cms-fluid-styled-content/Configuration/Sets\FluidStyledContent/'
// Hotfix with fixWindowsFilePath
$path = GeneralUtility::fixWindowsFilePath($path);
echo $path; // 'D:/vhosts/xxx/test-t13.local/vendor/typo3/cms-fluid-styled-content/Configuration/Sets/FluidStyledContent/'
$path = GeneralUtility::getFileAbsFileName($path);
echo $path; // 'D:/vhosts/xxx/test-t13.local/vendor/typo3/cms-fluid-styled-content/Configuration/Sets/FluidStyledContent/'
Updated by Markus Klein about 2 months ago
Wanna push your change to the review system?
Updated by Garvin Hicking about 2 months ago
IMO we should check where that windows backslash is inserted and try to work with forward slashes instead. Probably some DIR_SEPARATOR is in there, or some normalization is missing...
(Don't have a windows system to test this myself)
Updated by Steffen Mächtel 6 days ago
For my self: i switched from Windows XAMPP to DDEV WSL2 to prevent Windows Path Issues.
I can investigate where all the Windows Paths come from.
Windows has no issues with mixed paths like D:/something/else\mypath/to\someother/directory
This kind of path work in Windows Explorer and with PHP on Windows.
TYPO3 Core functions like `GeneralUtility::getFileAbsFileName($path)` will check for UNIX Path Style.
I can investigate which PHP Functions are used for File and Path and which return Windows style. (propably all php functions on windows php)