php 8.0起wddx扩展已被完全移除,xampp 8.0+不支持;仅xampp 7.4及更早版本在php.ini启用extension=wddx且正确配置后可用,推荐改用json_encode/decode替代。

WDDX 扩展在 XAMPP 中是否还可用
PHP 8.0 起已**完全移除 WDDX 扩展**,XAMPP 8.0+(含 8.1/8.2/8.3)默认不带、也无法启用 wddx。如果你看到旧项目报错 Call to undefined function wddx_serialize_value(),不是配置没开,而是函数本身已从 PHP 核心中删除。
仅 XAMPP 7.4 及更早版本(如 7.3、7.2)可能仍包含该扩展,但需确认两点:一是 PHP 版本 ≤7.4,二是 php.ini 中存在对应行且未被注释。
如何确认当前 XAMPP 是否支持 wddx
别猜路径或版本号,直接看运行时真实状态:
- 在
\xampp\htdocs\下建info.php,内容为<?php phpinfo(); ?> - 浏览器访问
http://localhost/info.php,顶部找Loaded Configuration File路径 - 搜索页面内是否有
wddx模块区块;若无,说明扩展未加载或根本不存在 - 同时打开命令行,执行
php -m | findstr wddx(Windows)或php -m | grep wddx(macOS/Linux),无输出即不可用
如果确定是 XAMPP 7.4 且想启用 wddx
满足前提后操作才有效:PHP 版本为 7.4.x,phpinfo() 显示的 Loaded Configuration File 是 C:\xampp\php\php.ini(或对应路径):
XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、Thin
- 用记事本或 VS Code 打开该
php.ini文件 - 搜索
;extension=wddx—— 注意不是php_wddx.dll,XAMPP 不需要写后缀或全路径 - 删掉开头的分号,改为
extension=wddx - 检查
extension_dir值是否为"C:\xampp\php\ext"(末尾不能有反斜杠) - 保存文件,**必须在 XAMPP Control Panel 中完全 Stop 再 Start Apache**,仅刷新页面无效
验证方式:新建 test.php 放入 htdocs,内容为 <?php var_dump(function_exists('wddx_serialize_value'));,返回 bool(true) 即成功。
替代方案比硬启 wddx 更实际
WDDX 是上世纪末的 XML 数据交换格式,现代项目基本不用。遇到旧系统依赖它,优先考虑迁移而非强启:
-
json_encode()+json_decode()完全可替代大部分wddx_serialize_*/wddx_deserialize()场景 - 若需保留 XML 输出,改用
SimpleXML或DOMDocument构建结构化数据 - PHP 7.4 项目若必须兼容,可封装一层适配器函数,内部转成 JSON 后再模拟 WDDX 返回结构
- 强行在新版 XAMPP 上编译或混用旧 DLL 风险极高:DLL 版本不匹配会导致 Apache 启动失败或 500 错误,且无官方支持
真正卡住的往往不是“怎么开”,而是没意识到 wddx 已是废弃协议——花一小时查文档,比折腾三小时配环境更省事。










