whmcsexpert/symlink-detective

此软件包最新版本(1.0.1)没有可用的许可证信息。

库允许在通过符号链接文件尝试时确定脚本的实路径

1.0.1 2020-09-10 18:37 UTC

This package is not auto-updated.

Last update: 2024-09-21 10:12:20 UTC


README

Latest Stable Version Latest Unstable Version License composer.lock

嘿,这个库允许您从所有混乱中找到真实的路径,如果您在项目中的一些目录中使用了符号链接。只是一个例子

  • 项目根目录: /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,因为文件未找到,并且异常抛出被抑制(第三个参数)