You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP相对链接异常:子目录页面无法加载初始化文件求助

PHP相对路径引用初始化文件问题解决方案

问题场景

根目录SiteFolder下的index.php使用require_once('./private/initialise.php')能正常加载初始化文件,但子目录SiteFolder/fabrication/laser-cutting.php尝试多种相对路径都无法成功引用SiteFolder/private/initialise.php。

有效解决方案

1. 用__DIR__常量(最可靠)

__DIR__是PHP内置常量,代表当前脚本所在的绝对目录路径。从laser-cutting.php出发,向上返回一级到根目录,再指向目标文件:

require_once(__DIR__ . '/../private/initialise.php');

2. 基于网站根目录的绝对路径

利用$_SERVER['DOCUMENT_ROOT']获取网站根目录的绝对路径,直接拼接目标文件路径:

require_once($_SERVER['DOCUMENT_ROOT'] . '/private/initialise.php');

3. 排查当前工作目录(调试用)

如果想明确之前路径失效的原因,可以先输出服务器当前的工作目录:

echo getcwd();

输出的路径就是相对路径的基准目录,对比脚本实际所在目录就能定位问题,但这个方法不适合生产环境,因为服务器工作目录可能随配置变动。

为什么之前的路径无效?

相对路径的基准是服务器当前工作目录,而非脚本文件本身所在的目录。如果服务器当前工作目录不是fabrication,那../private/initialise.php这类相对路径就会指向错误位置,而__DIR__基于脚本自身目录,不受工作目录影响,稳定性更强。

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:02:43