Fix Windows issue preventing compression when symbolic link is added …
When using the 'php artisan storage:link' command in the vapor.yml file, deploying or building on Windows becomes impossible as the application compression fails everytime. I added a check to avoid adding symbolic paths to the zip archive on Windows by verifying that we are on the Windows OS, that the file is a directory, and that it is a symbolic link. I used 'array_diff' because the 'is_link' function always returns false on Windows. See: https://bugs.php.net/bug.php?id=65697.
Hi there, is this any fix be merged someday? I've have a similiar problem but at the Copy Stage.
PHP Warning: copy(): The first argument to copy() function cannot be a directory.
That warning shows up when this code is being executed: https://github.com/laravel/vapor-cli/blob/cf4090018bc15472bec1f3a75238312c902fc2d7/src/BuildProcess/CopyApplicationToBuildPath.php#L25C9-L33C10
It seems that junctions files on windows are not being propely detected by SplFileInfo. This is what I get after trying to get file info on tinker:
$f = new SplFileInfo("vendor/myVendor/MyLocalPackage");
PHP Notice: SplFileInfo::getType(): Unknown file type (0) in C:\Users\User\Documents\projects\myProject\vendor\symfony\var-dumper\Caster\SplCaster.php on line 134
= SplFileInfo {#6705
path: "vendor/myVendor",
filename: "MyLocalPackage",
basename: "MyLocalPackage",
pathname: "vendor/myVendor/MyLocalPackage",
extension: "",
realPath: "C:\Users\User\Documents\projects\myProject\nova-components\MyLocalPackage",
aTime: 2024-11-12 14:30:55,
mTime: 2023-05-30 11:11:53,
cTime: 2023-05-30 11:11:53,
inode: 281474976917772,
size: 4096,
perms: 040777,
owner: 0,
group: 0,
type: "unknown",
writable: true,
readable: true,
executable: false,
file: false,
dir: false,
link: false,
linkTarget: "C:\Users\User\Documents\projects\myProject\nova-components\MyLocalPackage",
}
if I input the "dir" command on cmd at path vendor\myVendor, I get this:
Directory of C:\Users\User\Documents\projects\myProject\vendor\myVendor
12/11/2024 11:11 <DIR> .
12/11/2024 11:14 <DIR> ..
12/11/2024 11:11 <JUNCTION> MyLocalPackage [C:\Users\User\Documents\projects\myProject\nova-components\MyLocalPackage]
Thanks in advance.