Skip to content

Issue with long symlinks on Windows #142

@HenningCash

Description

@HenningCash

We ran into some weird problems on our Windows development machines when using symlinks as deploy-strategy.
For some reasons PHP refuses to include the symlinked file when it has a relative path that is quite long. The file can be opened without problems in explorer-context.
This causes the mg Autoloader to fail and classes can't be loaded. A simple test file that tries to include the symlink fails aswell.

Source: D:\www\mg.testenvironment\vendor\connect20\DerModPro_BasePrice\app\code\community\DerModPro\BasePrice\Model\Entity\Resource\Eav\Attribute\Product\Amount.php Symlink (as output from cmd dir): ..\..\..\..\..\..\..\..\..\..\..\..\vendor\connect20\DerModPro_BasePrice\app\code\community\DerModPro\BasePrice\Model\Entity\Resource\Eav\Attribute\Product\Amount.php 

The resulting path is longer than 260 chars, which is by default the maximum path-length windows can handle. But I can only guess that this is the reason.
The depths of magento's paths give a quite high change hitting this limit.

When you change the symlink to an absolute path - manually in cmd or hacking in Symlink.php+redeploy - the include/Autoloader works fine but this would drop some flexibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions