在 PHP 脚本中引入外部公用文件(如数据库连接、配置文件、类库)时,include_once 与 require_once 是最常用的两个引入结构。本文明确两者的致命性区别与选型标准。
一、 核心区别:文件不存在时的错误级别
- include_once(温和引入): 如果目标文件不存在,PHP 仅抛出 E_WARNING 警告,后面的代码依然会继续向下执行;
- require_once(强制依赖): 如果目标文件不存在,PHP 会立即抛出 E_COMPILE_ERROR 致命错误(Fatal Error),脚本立刻终止执行。
二、 选型规范准则
- 使用 require_once: 核心依赖项(如
config.php、数据库驱动、安全鉴权),缺失会导致整个系统无法运行; - 使用 include_once: 可选扩展组件、页脚统计代码或模板片段。