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

PHP文件包含失败求助:相对路径无法找到指定文件

PHP 文件包含路径错误的解决方案

问题详情

使用以下代码尝试包含数据库连接文件:

include "../../db/db_connection.php";

运行时触发错误:

Warning: include(../../db/db_connection.php): Failed to open stream: No such file or directory in /var/www/html/practice/Blogs/actions/accounts/general.php on line 2

终端可正常访问目标文件,但本地服务器(localhost)运行时报错。

问题根源

PHP 中相对路径的基准是当前执行的入口脚本的目录,而非编写include语句的文件所在目录。例如,若请求入口是Blogs/index.php,当该脚本调用general.php时,相对路径会以Blogs/为起点,而非Blogs/actions/accounts/,导致路径计算错误。

可行解决方法

1. 使用绝对路径

直接写入服务器上的完整路径,彻底避免相对路径歧义:

include "/var/www/html/practice/Blogs/db/db_connection.php";

2. 基于当前文件路径构建绝对路径

利用__DIR__常量(当前文件所在目录的绝对路径)拼接目标路径,灵活性更高,适合项目迁移:

// __DIR__ 对应 /var/www/html/practice/Blogs/actions/accounts
// 向上跳转两级后拼接目标文件路径
include __DIR__ . "/../../../db/db_connection.php";

3. 配置 include_path

在脚本开头或php.ini中添加项目根目录到include_path,之后可直接使用根目录下的相对路径:

set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/html/practice/Blogs/');
include "db/db_connection.php";

内容的提问来源于stack exchange,提问作者Syed Hassan Zamir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:15:32