whmcsexpert / symlink-detective
Library allows to determine realpath to your script when you try to do it from symlinked file
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 2
pkg:composer/whmcsexpert/symlink-detective
Requires
- webmozart/path-util: ~2.3
This package is not auto-updated.
Last update: 2025-10-18 15:37:24 UTC
README
Hey, this library is allows you to find the real path from all that mess, if you use symlinks for some directories in your project. Just and example:
- Project root dir:
/var/www/sites/your-project /var/www/sites/your-project/libraryis pointed to/var/www/libs/library/var/www/sites/your-project/publicwith app.php inside is pointed to/var/www/libs/frontend(so/var/www/sites/your-project/public/app.phpis pointed to/var/www/libs/frontend/app.php)
If somewhere in library (/var/www/libs/library) you do reference to some path like library/../app/config.php
- your path be equal to
/var/www/libs/library/../app/config==/var/www/libs/app/config, and guess - paths is not exists.
But there is solution - you can call SymlinkDetective::detectPath(__DIR__ . '/../app/config') and mr. SymlinkDetective will do the magic
Examples
SymlinkDetective::detectPath(__DIR__ . '/../app/config')returns/var/www/sites/your-project/app/configSymlinkDetective::detectPath(__FILE__, '/../app/config')returns/var/www/sites/your-project/app/configSymlinkDetective::detectPath(__FILE__, '/../app/unexistent-file', false)throws an Exception as file doesn't found/existsSymlinkDetective::detectPath(__DIR__ . '/../unexistent-file')returns/var/www/libs/library/unexistent-fileas file not found and Exception throwing is muted (3rd argument)