致命错误:未find类“SoapClient”

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

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

诊断

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

 phpinfo(); 

如果您找不到Soap Client设置为enabled如下所示: 肥皂应该出现在phpinfo()的方式

固定

请执行下列操作:

  1. find你的apache bin文件夹中的php.ini ,即Apache/bin/php.ini
  2. 删除;extension=php_soap.dll开始
  3. 重新启动你的Apache服务器
  4. 看你的phpinfo(); 再次检查你是否看到与上面类似的图片
  5. 如果你这样做,问题解决了!

另一方面,如果这不能解决你的问题,你可能想在这里检查SOAP的要求 。 同样在评论部分,你可以find关于连接到https的好build议。

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

 sudo apt-get install php7.0-soap 

对于AWS(RHEL):

 sudo yum install php56-soap 

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

我必须跑

 php-config --configure-options --enable-soap 

作为根,并重新启动Apache。

这工作! 现在我的phpinfo()调用显示了SOAP部分。

没有find phpinfo()SOAP部分,所以我不得不安装它。

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

从WHM面板

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

    警告:“pear / HTTP_Request”已弃用,以“pear / HTTP_Request2”

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

  3. 安装HTTP_Request2(可选)

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

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

从shell命令

1.pear安装SOAP

2.reboot

要在PHP5.6中安装SOAP,请在Ubuntu 14.04terminal中运行以下代码:

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

查看是否启用了SOAP:

 php -m 

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

你必须inheritancenusoap.php类,并把它放在你的项目目录中,你可以从互联网上下载它。

使用此代码:

 require_once('nusoap.php');