Dreamweaver 里 include 报错不是编辑器问题,而是因未通过 Web 服务器运行 PHP;必须用 http://localhost 访问,而非 file:// 协议;路径应以当前执行脚本为基准,推荐用 DIR 拼接。

Dreamweaver 里写 PHP 时 include 或 require 报错,根本不是 Dreamweaver 的问题——它只是个编辑器,不执行 PHP。错误实际发生在服务器环境里,DW 只是把报错信息“转手”显示出来。
为什么 DW 里点“实时视图”或预览却提示“failed to open stream”
因为 DW 默认用本地文件协议(file://)打开 HTML/PHP 文件,此时 PHP 完全没运行,include 被当作文本直接输出,或被浏览器忽略。所谓“包含失败”,其实是你根本没走 PHP 解释器。
- ✅ 正确做法:必须通过 Web 服务器访问,比如
http://localhost/test.php - ❌ 错误做法:双击打开
D:/www/test.php,或在 DW 里点“在浏览器中预览”却没配本地服务器 - 常见报错:
Warning: include(): failed to open stream: No such file or directory,说明路径没找对,或 PHP 根本没跑起来
include 路径写相对还是绝对?为什么总找不到文件
PHP 的 include 是以“当前执行脚本”的位置为基准解析相对路径,不是以当前编辑的文件、也不是以 DW 工作目录为准。
-
include 'header.php'→ 在当前脚本同目录下找 -
include '../inc/config.php'→ 往上一级再进inc/目录找 - 更可靠的方式是用
__DIR__:include __DIR__ . '/inc/functions.php';(PHP 5.3+) - 避免用
./开头——它不一定指向脚本所在目录,尤其在 CLI 或某些 SAPI 下行为不一致
本地开发时 Apache/Nginx 没启,或者端口被占,怎么快速验证
先确认 PHP 真正在跑,而不是靠 DW 的“实时视图”自欺欺人。
立即学习“PHP免费学习笔记(深入)”;
- 终端执行
php -S localhost:8000启一个简易服务器(PHP 5.4+ 自带),然后访问http://localhost:8000/test.php - 检查
phpinfo()是否能正常输出:新建info.php,内容只有一行 - Windows 用户注意:XAMPP/MAMP 的 Apache 图标如果灰色,代表没启动;右键托盘图标 → “Start Apache”
- Mac 用户若用内置 Apache,
sudo apachectl start后记得确认/etc/apache2/httpd.conf中LoadModule php_module已启用
真正卡住人的,往往不是语法,而是默认以为“编辑器能预览 = 代码已执行”。DW 不解释 PHP,它只负责写和传——文件路径对不对、服务器开没开、PHP 版本支不支持 __DIR__,这些才是关键。











