本地WordPress更新失败:No working transports found问题求助
确认生效的php.ini文件
WAMP环境下存在多个php.ini配置文件,别改错了。左键点击WAMP托盘图标 → PHP → php.ini,打开的这个才是Apache实际加载的配置文件。检查extension=php_curl.dll和extension=php_openssl.dll前面的分号是否完全移除,确保没有注释。检查curl扩展文件状态
打开PHP安装目录下的ext文件夹,确认php_curl.dll文件存在,且版本与当前PHP版本匹配(比如PHP7.4对应7.4版本的curl扩展)。如果文件缺失或版本不兼容,去PHP官方下载对应版本的扩展包(注意选对位数、线程安全/非线程安全版本)替换。修正extension_dir配置
之前取消注释extension_dir="ext"报错是因为路径不明确,改成绝对路径即可。比如你的PHP安装在C:\wamp64\bin\php\php7.4.33,就把配置改成:extension_dir = "C:\wamp64\bin\php\php7.4.33\ext"注意路径里的反斜杠要用双反斜杠
\\或者正斜杠/。务必重启Apache服务
每次修改php.ini后,右键WAMP托盘图标 → 重启所有服务,或者单独重启Apache,否则新配置不会生效。补全系统依赖库
curl扩展依赖libcurl.dll文件,这个文件应该放在PHP安装目录根目录,或者Windows的System32文件夹里。如果找不到,从PHP安装包的根目录复制该文件到对应位置,再重启Apache。验证curl加载状态
重启服务后,再次运行测试代码:<?php var_dump(extension_loaded("curl")); ?>若返回
bool(true),再尝试更新WordPress即可。
内容的提问来源于stack exchange,提问作者J. Drag

