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

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


当前回答

在我的案例中,Symfony缓存导致了问题, 运行composer安装后,问题消失了。

其他回答

我在phpinfo()中找不到SOAP部分,所以我必须安装它。

有关信息,SOAP扩展需要libxml PHP扩展。这意味着根据http://php.net/manual/en/soap.requirements.php,还需要传入——enable-libxml

来自WHM面板

软件»模块安装程序»PHP扩展和应用程序包 安装SOAP 0.13.0 警告:"pear/HTTP_Request"已弃用,改为"pear/HTTP_Request2" 安装ok: channel://pear.php.net/SOAP-0.13.0 安装HTTP_Request2(可选) 安装ok: channel://pear.php.net/HTTP_Request2 重启服务»HTTP服务器(Apache)

从shell命令

1.pear安装SOAP

2.重新启动

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

使用以下代码:

require_once('nusoap.php');

要在PHP5.6中安装SOAP,请在Ubuntu 14.04终端上执行以下命令:

sudo apt-get install php5.6-soap
service php5.6-fpm restart
service apache2 restart

查看是否启用了SOAP:

php -m

(您应该在返回的文本之间看到SOAP。)

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

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

RUN docker-php-ext-install soap

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

在Centos 7.8和PHP 7.3上

yum install php-soap
service httpd restart