关于php:致命错误:找不到类’SoapClient’

Fatal error: Class 'SoapClient' not found

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

Fatal error: Class 'SoapClient' not found in C:\Program Files (x86)\EasyPHP-5.3.9\www\server.php on line 2


诊断

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

如果找不到像这样设置为enabledSoap Client
the way soap should appear in phpinfo()

固定

请执行下列操作:

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


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

    1
    sudo apt-get install php7.0-soap

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

    1
    sudo apt-get install php7.1-soap

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

    1
    sudo apt-get install php7.2-soap

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

    1
    sudo apt-get install php7.3-soap


    对于AWS(RHEL):

    1
    sudo yum install php56-soap

    (这里的56是5.6 PHP版本-将您的版本放在此处)。


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

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

    查看是否启用了SOAP:

    1
    php -m

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


    我必须跑步

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

    以root身份并重新启动apache。

    可行!现在,我的phpinfo()调用显示了SOAP部分。


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

    1
    2
    3
    4
    sudo apt-get install php7.0-soap

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


    我在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"

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

  • 安装HTTP_Request2(可选)

    确定安装:channel://pear.php.net/HTTP_Request2

  • 重新启动服务? HTTP服务器(Apache)

  • 从shell命令

    1.pear安装SOAP

    2.重启


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

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

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


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

    使用此代码:

    1
    require_once('nusoap.php');