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

PHP使用require无法找到路径,但HTML链接正常的问题咨询

PHP文件引用路径问题解析及解决方法

问题本质

HTML中的/api/connection.php是Web服务器层面的网站根路径,由Apache/Nginx这类服务器解析,指向你部署网站的根目录下的api文件夹;但PHP的require "/api/connection.php"是服务器文件系统的绝对路径,它指向的是服务器系统的根目录(比如Linux的/、Windows的C:\),完全不是同一个位置,所以必然找不到文件。

可行解决方法

  • 用网站根目录拼接路径
    利用$_SERVER['DOCUMENT_ROOT']获取Web服务器配置的网站根目录绝对路径,再拼接目标文件路径:

    print '<a href="/api/connection.php">Huh</a>';
    
    ob_start();
    require $_SERVER['DOCUMENT_ROOT'] . "/api/connection.php";
    ob_end_clean();
    

    这个变量会直接返回你的网站在服务器文件系统中的根路径(比如/var/www/html),拼接后就是正确的文件位置。

  • 使用相对当前脚本的路径
    如果当前执行的PHP脚本和api文件夹处于网站根目录的同级子目录,比如脚本在public文件夹下,就可以用相对路径:

    require "../api/connection.php";
    

    注意:这里的相对路径是相对于当前运行的PHP脚本文件的位置,不是浏览器请求的URL路径。

  • 配置PHP的include_path
    在php.ini配置文件中,把存放工具类的文件夹添加到include_path:

    include_path = ".:/path/to/your/api/folder"
    

    配置完成后重启Web服务器,之后就能直接用文件名引用文件:

    require "connection.php";
    

额外排查技巧

  • 用realpath()函数打印PHP实际解析的路径,方便排查:
    echo realpath("/api/connection.php");
    
    输出的路径就是PHP尝试查找的位置,对比你的网站根目录就能明确差异。
  • 优先使用require_once或include_once,避免重复引用文件引发的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:48:21