致命错误:类'没有找到

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

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

456953 次浏览

诊断

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

phpinfo();
如果你不能找到Soap Client设置为enabled,如下所示: 肥皂应该出现在phpinfo()的方式 < / p >

修复

做以下几点:

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

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

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

使用以下代码:

require_once('nusoap.php');

我不得不逃跑

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

以root用户重启apache。

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

无法找到 SOAP节在phpinfo(),所以我必须安装它。

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

来自WHM面板

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

    警告:"pear/HTTP_Request"已弃用,改为"pear/HTTP_Request2"

    install ok: channel://pear.php.net/SOAP-0.13.0

  3. 安装HTTP_Request2(可选)

    install ok: channel://pear.php.net/HTTP_Request2

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

从shell命令

1.pear安装SOAP

2.重新启动

对于AWS (RHEL):

sudo yum install php56-soap

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

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

sudo apt-get install php7.0-soap

要在PHP-7.1中安装SOAP,请在Ubuntu终端上执行以下命令:

sudo apt-get install php7.1-soap

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

sudo apt-get install php7.2-soap

要在PHP-7.3中安装SOAP,请在Ubuntu终端上执行以下命令:

sudo apt-get install php7.3-soap

要在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.0.22-0ubuntu0.16.04.1 nginx上解决了这个问题

sudo apt-get install php7.0-soap


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

对于Docker*添加这一行:

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


*:对于基于debian的图像,即。对高山变种无效。

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

在Centos 7.8和PHP 7.3上

yum install php-soap
service httpd restart

对于PHP 8:

sudo apt update
sudo apt-get install php8.0-soap

在我的情况下,< em > < / em > Symfony缓存导致了问题, 在运行composer install后,问题消失了

For PHP 7.4 &码头工人 在Dockerfile中添加这一行:

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


RUN docker-php-ext-install soap

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