我正在尝试一个简单的web服务示例,即使我在php.ini文件中未注释extension=php_soap.dll,我也会得到这个错误:

致命错误:类'SoapClient'没有在C:\Program Files (x86)\ EasyPHP-5.3.9\www\server.php第2行找到


当前回答

诊断

在脚本文件中查找以下内容

phpinfo();

如果你不能找到Soap客户端设置为启用如下:

Fix

做以下几点:

在apache bin文件夹中找到php.ini,即apache /bin/php.ini 移除;从extension=php_soap.dll开始 重新启动Apache服务器 查找phpinfo();再次检查你是否看到了与上面相似的图片 如果你这么做了,问题就解决了!

另一方面,如果这不能解决您的问题,您可能需要检查这里的SOAP需求。你也可以在评论区找到连接https的好建议。

其他回答

对于XAMPP用户,打开位于C:/ XAMPP /php中的php.ini文件并删除;从extension=soap开始。然后重新启动Apache,就是这样!

用于PHP 7.4和Docker 在Dockerfile中添加这一行:

RUN apt-get update && apt-get install -y \
libxml2-dev \

RUN docker-php-ext-install soap

重新构建映像并重新启动;)

你必须继承nusoop。php类并把它放到你的项目目录中,你可以从网上下载。

使用以下代码:

require_once('nusoap.php');

诊断

在脚本文件中查找以下内容

phpinfo();

如果你不能找到Soap客户端设置为启用如下:

Fix

做以下几点:

在apache bin文件夹中找到php.ini,即apache /bin/php.ini 移除;从extension=php_soap.dll开始 重新启动Apache服务器 查找phpinfo();再次检查你是否看到了与上面相似的图片 如果你这么做了,问题就解决了!

另一方面,如果这不能解决您的问题,您可能需要检查这里的SOAP需求。你也可以在评论区找到连接https的好建议。

我也遇到过类似的问题。这是由于范围的问题,并通过用新的\SoapClient取代新的SoapClient来解决。