致命错误:找不到类'SoapClient'

时间:2012-07-09 08:27:52

标签: php soap fatal-error

我正在尝试一个简单的Web服务示例,即使我在extension=php_soap.dll文件中取消注释php.ini,我也会收到此错误:

  

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

12 个答案:

答案 0 :(得分:302)

<强>诊断

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

phpinfo();

如果找不到Soap Client设置为enabled,请执行以下操作: the way soap should appear in phpinfo()

<强>修正

执行以下操作:

  1. apache bin文件夹中找到php.ini,即Apache/bin/php.ini
  2. ;
  3. 的开头删除extension=php_soap.dll
  4. 重新启动Apache服务器
  5. 再次查看phpinfo();并检查您是否看到与上面相似的图片
  6. 如果你这样做,问题就解决了!
  7. 另一方面,如果这不能解决您的问题,您可能需要查看requirements for SOAP here。同样在评论部分,您可以找到有关连接到https的好建议。

答案 1 :(得分:117)

要在PHP-7中安装SOAP,请在Ubuntu终端中运行以下命令:

sudo apt-get install php7.0-soap

要在您的Ubuntu终端中运行以下PHP-7.1运行SOAP:

sudo apt-get install php7.1-soap

要在PHP-7.2中安装SOAP,请在Ubuntu终端中运行以下命令:

sudo apt-get install php7.2-soap

要在您的Ubuntu终端中运行以下PHP-7.3运行SOAP:

sudo apt-get install php7.3-soap

答案 2 :(得分:20)

对于AWS(RHEL):

sudo yum install php56-soap

(56这里是5.6 PHP版本 - 把你的版本放在这里)。

答案 3 :(得分:14)

要在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。)

答案 4 :(得分:10)

我必须跑

php-config --configure-options --enable-soap 
以root身份重新启动apache。

那很有效!现在我的phpinfo()调用显示了SOAP部分。

答案 5 :(得分:8)

我在PHP 7.0.22-0ubuntu0.16.04.1 nginx上解决了这个问题

$output

答案 6 :(得分:7)

无法找到 SOAP中的phpinfo()部分,因此我必须安装它。

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

还需要传入--enable-libxml

来自WHM小组

  1. 软件»模块安装程序»PHP扩展程序&amp;应用程序包
  2. 安装SOAP 0.13.0

    警告:弃用“pear / HTTP_Request”以支持“pear / HTTP_Request2”

    安装ok:channel://pear.php.net/SOAP-0.13.0

  3. 安装HTTP_Request2(可选)

    安装ok:channel://pear.php.net/HTTP_Request2

  4. 重启服务»HTTP服务器(Apache)

  5. 来自shell命令

    1.pear install SOAP

    2.reboot

答案 7 :(得分:4)

对于 XAMPP用户,打开php.ini中的C:/xampp/php文件,然后从;的开头删除extension=soap。然后重新启动Apache即可!

答案 8 :(得分:1)

对于Docker *,请添加以下行:

RUN apt-get update && \
    apt-get install -y libxml2-dev && \
    docker-php-ext-install soap

*:用于基于debian的图像,即。不适用于高山变种。

答案 9 :(得分:0)

您必须继承nusoap.php类并将其放在项目目录中,您可以从Internet下载。

使用此代码:

require_once('nusoap.php');

答案 10 :(得分:0)

在Centos 7.8和PHP 7.3上

yum install php-soap
service httpd restart

答案 11 :(得分:0)

对于PHP 8:

:value=this.selectedtemplate