1

我正在使用一个现有的 PHP 软件,它广泛使用了__FILE__魔法常数,需要引导文件,除其他外,例如:

require dirname(__FILE__) . '/path/to/config.php';

现在我在同一台服务器上有几个网站运行这个软件。

所有网站都有文件的副本,它可以工作,但我想将“通用”文件(类、控制器等)集中到:

  • 减少文件数量
  • 简化部署

起初,我考虑为“通用”文件使用符号链接,以及为“特定”文件使用简单文件夹:

config
classes -> /path/to/common/classes
controllers -> /path/to/common/controllers
...

...但问题是__FILE__解决了符号链接

自 PHP 4.0.2 起,__FILE__始终包含一个绝对路径,符号链接已解析,而在旧版本中,它在某些情况下包含相对路径。

这意味着使用该常量的所有内容都将解析相对于“通用”文件的路径,这不是我想要的。

我知道我可以使用$_SERVER['SCRIPT_FILENAME],但我不想修改我正在使用的软件的代码,这将无法维护。


有没有其他方法可以实现这一目标?

也许使用带有某种共享文件夹的虚拟机(每个网站一个)?(我根本不是专家)

4

0 回答 0