我的web文件夹中有几个文件,包括以下两个:
/mydocroot/include/somesubir/include.inc.php
/mydocroot/include/settings.inc.php文件
其中somesubir是指向磁盘上另一个目录的符号链接,指向名为,eh,让我们说/anywhere/else的路径。
在include.inc.php中,类似这样的内容是这样写的:

<?php

require_once "../settings.inc.php";

?>

在我看来,应该包括/mydocroot/include/settings.php…但是猜猜会发生什么:php尝试包含/anywhere/settings.inc.php,而不是/mydocroot/include/settings.inc.php。
看起来php会自动解析符号链接。
如何避免这种情况并包含settings.inc.php文件?

最佳答案

最直接的解决方案是始终使用绝对路径。有多种方法可以做到这一点,从每次需要时对路径进行硬编码,到在脚本顶部对路径进行硬编码并引用该路径,再到动态地计算路径并在脚本顶部设置路径。
第三个选项是大多数现成的cms在不完全了解文件结构的情况下使用的功能。
为什么你要以这种方式使用一个符号链接的目录?

07-28 02:42
查看更多