答案:需在php.ini中取消extension=php_soap.dll或extension=soap的注释并重启服务,再通过phpinfo()验证soapclient/soapserver是否启用。phpstudy默认未启用soap扩展,必须手动配置才能调用webservice接口。

PHPStudy 中开启 SOAP 扩展是调用 WebService 接口(如天气、支付、政务等 SOAP 协议服务)的前提。默认情况下,PHPStudy 的 PHP 版本(尤其是 7.3 及以上)通常已编译支持 SOAP,但扩展未启用,需手动开启配置。
确认当前 PHP 版本并检查 soap.so 是否存在
进入 PHPStudy 安装目录 → `php → php-版本号 → ext` 文件夹(例如:php/ext/php_soap.dll(Windows)或 php_soap.so(Linux/macOS,但 PHPStudy 为 Windows 环境)。确认该文件存在。若不存在,说明当前 PHP 编译时未包含 SOAP 模块,建议更换为官方完整版 PHPStudy(推荐使用最新版 PHPStudy Pro 或 PHPStudy 2024)。
启用 php.ini 中的 soap 扩展
在 PHPStudy 主界面点击「其他选项菜单」→「打开配置文件」→「php.ini」,用文本编辑器打开:
- 查找
;extension=soap或;extension=php_soap.dll - 去掉行首分号(
;),改为:extension=php_soap.dll(PHP 7.2+ Windows 下常用此写法) - 若使用 PHP 8.x,部分版本需写为:
extension=soap(不带 .dll 后缀,PHP 会自动识别) - 保存文件后,回到 PHPStudy 点击「重启 Apache」或「重启 Nginx」及「重启 PHP 服务」
验证 SOAP 扩展是否生效
新建一个 info.php 文件,内容为:<?php phpinfo(); ?>,放入网站根目录(如 www),浏览器访问 http://localhost/info.php,搜索「soap」:
- 看到「soap」模块已加载,且「SoapClient」「SoapServer」类可用,说明启用成功
- 若无显示,检查 PHP 错误日志(PHPStudy → 「错误日志」→「PHP 错误日志」),常见报错如“Unable to load dynamic library 'php_soap.dll'”,多因 DLL 依赖缺失(可安装 Visual C++ 运行库 2015–2022 x64)
简单测试 SOAP 调用是否正常
创建测试脚本 test_soap.php:
<?php try {
$client = new SoapClient("http://www.webservicex.net/globalweather.asmx?WSDL");
$result = $client->GetWeather(['CityName' => 'Beijing', 'CountryName' => 'China']);
echo htmlspecialchars($result->GetWeatherResult);
} catch (SoapFault $e) {
echo "SOAP 错误:" . $e->getMessage();
}
?>
访问该页面,若返回北京天气 XML 内容或结构化结果,说明环境配置完成,可正式对接业务接口。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











