WDDX在XAMPP 8.0+中已彻底移除,仅XAMPP 7.4等旧版本支持启用;需确认php.ini路径、取消wddx扩展注释、检查extension_dir及依赖xml扩展;推荐优先使用JSON或XML原生方案替代。
WDDX 在 XAMPP 中默认不可用,PHP 8.0+ 已彻底移除
WDDX 扩展在 PHP 8.0 起被正式废弃并删除,XAMPP 8.0 及之后版本(如 8.2、8.3)根本不再提供
文件,也无对应配置项。如果你在
里搜索
,大概率找不到任何相关行——不是你漏看了,是它压根不存在。
若你正在维护一个 PHP 7.x 项目(比如 XAMPP 7.4),且明确依赖 WDDX,才需考虑启用;否则请直接跳过,改用 JSON 或 XML 手动序列化。
PHP 7.4 XAMPP 中启用 WDDX 的实操步骤
仅适用于 XAMPP 7.4(或更早)且确认
输出含
的场景。新版 XAMPP 不支持,强行操作会报错或无效。
运行
页面,确认 “Loaded Configuration File” 路径(常见为
,但多版本共存时可能是
)
用文本编辑器打开该
,搜索
;若存在类似
或
的行,删掉开头的分号
检查
是否指向正确路径,例如:
(末尾不能有反斜杠)
保存后,在 XAMPP 控制面板中 **完全停止再启动 Apache**(仅刷新页面无效)
启用后验证失败的常见原因
即使取消注释,
仍返回
,通常由以下原因导致:
改错了——Apache 加载的是另一份(务必以
显示路径为准,不是控制面板“Config → PHP”打开的那个)
扩展文件缺失:XAMPP 7.4 安装包中虽预置
,但若手动删过
下文件,需从同版本官方安装包中提取补回
PHP 线程安全(TS)不匹配:XAMPP Apache 使用 TS 版 PHP,若你误放了 NTS 版 DLL(如从非 XAMPP 源下载),加载会静默失败
依赖缺失:WDDX 依赖
扩展,确保
也已启用(它通常默认开启)
替代方案比硬启 WDDX 更可靠
WDDX 设计陈旧、无现代类型支持、调试困难,且 PHP 官方已弃用。真实项目中建议:
用
/
替代数据交换,兼容性好、性能高、浏览器原生支持
若需结构化 XML,直接用
或
构造,可控性强
遗留系统对接时,可封装一层转换函数,把 WDDX XML 解析逻辑改为用
+ 手动映射字段
真正卡点往往不在“怎么开”,而在“开了以后发现没法和新环境协同”——WDDX 就是典型例子。别花时间修复一个已被删除的轮子。
php_wddx.dllphp.iniwddxphp -v7.4.phpinfo()C:\xampp\php\php.iniC:\xampp\php\php-7.4\php.iniphp.iniwddx;extension=wddx;extension=php_wddx.dllextension_dirextension_dir = "C:\xampp\php\ext"extension_loaded('wddx')falsephp.iniphpinfo()php_wddx.dll\xampp\php\ext\xmlextension=xmljson_encode()json_decode()SimpleXMLDOMDocumentsimplexml_load_string()