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

000webhost部署PHP项目require_once引入initialize.php失败报错求助

报错原因

核心是DBConnection.php中使用相对路径../initialize.php时,PHP的运行工作目录和你预期的目录结构不匹配,导致系统无法定位到initialize.php文件。

Warning: require_once(../initialize.php): failed to open stream: No such file or directory in /storage/ssd4/040/17993040/public_html/EPS/classes/DBConnection.php on line 3
Fatal error: require_once(): Failed opening required '../initialize.php' (include_path='.:/usr/share/pear:/usr/share/php') in /storage/ssd4/040/17993040/public_html/EPS/classes/DBConnection.php on line 3

可行解决方案

方案1:使用绝对路径引入文件(推荐,适配性最高)

PHP的__DIR__魔术常量会返回当前文件所在的绝对目录,用它构造引入路径可以完全规避相对路径受运行入口影响的问题,直接修改DBConnection.php第三行的引入代码即可:

<?php
if(!defined('id17993040_epsdb')){
    // 替换原有的相对路径写法
    require_once(__DIR__ . "/../initialize.php");
}
// 后续原有代码保持不变

方案2:统一引入逻辑优化架构

你已经在initialize.php中定义了全局的数据库配置常量,可以调整项目的加载逻辑:所有访问入口文件先引入initialize.php,再加载对应的功能类文件,不需要在类文件中反向引入配置文件,同时可以简化DB类的配置代码,避免重复写配置:
修改DBConnection.php的配置部分:

private $host = DB_SERVER;
private $username = DB_USERNAME;
private $password = DB_PASSWORD;
private $database = DB_NAME;

这个方案还能解决后续多环境配置修改需要多处改的问题,维护更方便。

额外注意点

你当前DBConnection.php中写的数据库地址$host = "local_host"存在拼写错误,正确的本地数据库地址是localhost(没有下划线),路径问题修复后这个错误也会导致数据库连接失败,建议同步修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:45:08