PHP引入文件需写在<?php?>内,优先用require_once配合__DIR__拼接绝对路径,禁用相对路径和远程URL引入。

PHP 用 require、include 及其带 _once 的变体来引入外部文件,关键不是“加什么标签”,而是**写对语句 + 拼对路径 + 选对方式**。直接写在 PHP 代码块里即可,不需要额外 HTML 标签。
必须用 PHP 代码块包裹
引入语句只能写在 <?php ?> 内部,不能裸写或放在 HTML 标签里:
- ✅ 正确:
<?php require 'config.php'; ?> - ❌ 错误:
require 'config.php';(没包在 PHP 标签里,当纯文本输出) - ❌ 错误:
<div>require 'config.php';</div>(HTML 里写 PHP 语句,不执行)
优先用 require_once 防重复和报错
多数场景下,推荐用 require_once:
- 它确保文件只加载一次,避免函数/类重复定义错误
- 文件缺失时会报致命错误并停止执行,便于及时发现配置或依赖问题
- 适合引入配置文件、工具函数、公共库等关键内容
例如:<?php require_once __DIR__ . '/lib/database.php'; ?>
立即学习“PHP免费学习笔记(深入)”;
路径必须用绝对路径,别信相对路径
相对路径(如 './config.php' 或 '../inc/header.php')极易因调用位置不同而失效。稳妥做法是基于当前文件位置拼接:
- 用
__DIR__获取当前文件所在目录的绝对路径 - 用点号
.拼接子目录,如__DIR__ . '/assets/functions.php' - 避免使用
./、../或$_SERVER['DOCUMENT_ROOT'](不稳定)
别用 URL 引入远程文件(除非真有必要)
像 require 'https://example.com/utils.php'; 这种写法:
- 需服务器开启
allow_url_include(多数生产环境禁用) - 存在严重安全风险:远程内容可控,可能注入恶意代码
- 性能差、不可靠,网络失败会导致脚本中断或静默失败
- 仅限调试或极特殊场景,绝不用于正式项目



















