php wsdl关系 致命错误:未找到类'SoapClient'




soap wsdl关系 (7)

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

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


诊断

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

phpinfo();

如果您找不到Soap Client设置为enabled如下所示:

固定

请执行下列操作:

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

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


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

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

从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.04终端中运行以下代码:

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

查看是否启用了SOAP:

php -m

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


对于AWS(RHEL):

sudo yum install php56-soap

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


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

使用此代码:

require_once('nusoap.php');

要在Ubuntu终端中运行PHP-7中的SOAP,请执行以下操作:

sudo apt-get install php7.0-soap

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

sudo apt-get install php7.0-soap

sudo systemctl restart php7.0-fpm
sudo systemctl restart nginx






fatal-error