whmcsexpert / symlink-detective
此软件包最新版本(1.0.1)没有可用的许可证信息。
库允许在通过符号链接文件尝试时确定脚本的实路径
1.0.1
2020-09-10 18:37 UTC
Requires
- webmozart/path-util: ~2.3
This package is not auto-updated.
Last update: 2024-09-21 10:12:20 UTC
README
嘿,这个库允许您从所有混乱中找到真实的路径,如果您在项目中的一些目录中使用了符号链接。只是一个例子
- 项目根目录:
/var/www/sites/your-project
/var/www/sites/your-project/library
指向/var/www/libs/library
/var/www/sites/your-project/public
包含 app.php 的目录指向/var/www/libs/frontend
(因此/var/www/sites/your-project/public/app.php
指向/var/www/libs/frontend/app.php
)
如果库中(/var/www/libs/library
)某处引用了某些路径,例如 library/../app/config.php
- 您的路径将是
/var/www/libs/library/../app/config
==/var/www/libs/app/config
,并且路径不存在。
但是有解决方案 - 您可以调用 SymlinkDetective::detectPath(__DIR__ . '/../app/config')
,SymlinkDetective 将执行魔法
示例
SymlinkDetective::detectPath(__DIR__ . '/../app/config')
返回/var/www/sites/your-project/app/config
SymlinkDetective::detectPath(__FILE__, '/../app/config')
返回/var/www/sites/your-project/app/config
SymlinkDetective::detectPath(__FILE__, '/../app/unexistent-file', false)
抛出异常,因为没有找到/不存在文件SymlinkDetective::detectPath(__DIR__ . '/../unexistent-file')
返回/var/www/libs/library/unexistent-file
,因为文件未找到,并且异常抛出被抑制(第三个参数)