Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:类';SoapClient';找不到_Php_Soap_Fatal Error - Fatal编程技术网

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

Php 致命错误:类';SoapClient';找不到,php,soap,fatal-error,Php,Soap,Fatal Error,我正在尝试一个简单的web服务示例,尽管我在php.ini文件中取消了extension=php\u soap.dll的注释,但还是出现了此错误: 致命错误:在第2行的C:\Program Files(x86)\EasyHP-5.3.9\www\server.php中找不到类“SoapClient” 诊断 在脚本文件中查找以下内容 phpinfo(); 如果找不到Soap客户端设置为已启用如下: 修复 请执行以下操作: 在您的apachebin文件夹中找到php.ini,即apache/bi

我正在尝试一个简单的web服务示例,尽管我在
php.ini
文件中取消了
extension=php\u soap.dll
的注释,但还是出现了此错误:

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


诊断

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

phpinfo();
如果找不到
Soap客户端
设置为
已启用
如下:

修复

请执行以下操作:

  • 在您的apachebin文件夹中找到
    php.ini
    ,即
    apache/bin/php.ini
  • 删除
    extension=php\u soap.dll的开头开始
  • 重新启动Apache服务器
  • 查找您的
    phpinfo()并检查是否看到与上述图片类似的图片
  • 如果你这样做了,问题就解决了
    另一方面,如果这不能解决您的问题,您可能需要检查。在评论部分,您还可以找到关于连接https的好建议。

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

    使用此代码:

    require_once('nusoap.php');
    
    我不得不跑

    php-config --configure-options --enable-soap 
    
    作为root用户,重新启动apache


    成功了!现在我的phpinfo()调用显示了SOAP部分。

    我在
    phpinfo()中找不到
    SOAP
    部分,所以我不得不安装它

    有关信息,
    SOAP
    扩展需要
    libxml
    PHP扩展。这意味着根据需要,还需要传入
    --enable libxml

    来自WHM面板

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

    警告:“pear/HTTP_请求”已被弃用,取而代之的是“pear/HTTP_请求2”

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

  • 安装HTTP_Request2(可选)

    安装正常:channel://pear.php.net/HTTP_Request2

  • 重启服务»HTTP服务器(Apache)

  • 来自shell命令

    1.安装肥皂

    2.为AWS(RHEL)重新启动:


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

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

    sudo apt-get install php7.0-soap
    
    sudo apt-get install php7.1-soap
    
    sudo apt-get install php7.2-soap
    
    sudo apt-get install php7.3-soap
    
    sudo apt-get install php5.6-soap
    service php5.6-fpm restart
    service apache2 restart
    
    要在PHP-7.1中安装SOAP,请在Ubuntu终端中运行以下命令:

    sudo apt-get install php7.0-soap
    
    sudo apt-get install php7.1-soap
    
    sudo apt-get install php7.2-soap
    
    sudo apt-get install php7.3-soap
    
    sudo apt-get install php5.6-soap
    service php5.6-fpm restart
    service apache2 restart
    
    要在PHP-7.2中安装SOAP,请在Ubuntu终端中运行以下命令:

    sudo apt-get install php7.0-soap
    
    sudo apt-get install php7.1-soap
    
    sudo apt-get install php7.2-soap
    
    sudo apt-get install php7.3-soap
    
    sudo apt-get install php5.6-soap
    service php5.6-fpm restart
    service apache2 restart
    
    要在PHP-7.3中安装SOAP,请在Ubuntu终端中运行以下命令:

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

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

    sudo apt-get install php7.0-soap
    
    sudo apt-get install php7.1-soap
    
    sudo apt-get install php7.2-soap
    
    sudo apt-get install php7.3-soap
    
    sudo apt-get install php5.6-soap
    service php5.6-fpm restart
    service apache2 restart
    
    查看是否启用了SOAP:

    php -m
    

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

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

    sudo apt-get install php7.0-soap
    
    sudo systemctl restart php7.0-fpm
    sudo systemctl restart nginx
    

    对于Docker*添加此行:

    运行apt-get-update&&\
    apt get安装-y libxml2开发人员&&\
    docker php ext安装soap
    

    *:对于基于debian的图像,即不适用于alpine变体。

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

    在Centos 7.8和PHP 7.3上

    yum install php-soap
    service httpd restart
    
    对于PHP8:

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


    您确定编辑了Apache/bin/php.ini并在此之后重新启动了Apache吗?谢谢。显然,我更改了另一个php.ini文件。我在Apache file.sudo apt get install php7.0中找到了一个,适用于那些还没有安装它的人
    sudo apt get install php soap
    (加上
    service apache2 restart
    )在Ubuntu 20.04.1NuSoap创建Web服务(服务器)上为我解决了这个问题。最初的问题是关于使用Web服务(客户端),因此NuSoap与上述问题之间没有任何关系。也许您在使用NuSoap时会思考一些问题,这就是为什么您会注意到这一点。“互联网”。不要忘了也取消注释这一行:
    ;extension=php_openssl.dll
    如果您试图访问的WSDL是在https协议下的,我正在使用xamp,只是取消注释
    extension=soap
    执行此技巧。sudo apt get install php7.0-soap对于那些还没有为我安装它的人,仍然找不到
    SoapClient
    类。我在phpinfo()中看到它已启用,扩展已启用,openssl也已启用,一切正常,但找不到该类。我使用WampServer3.0和PHP5.6,重新启动了Apache,但没有解决问题。请帮助。如果我在Ubuntu20.04.01上遵循上述注释(
    apt get install php7.0-soap
    ),我会得到以下错误:找不到包php7.0-soap。运行
    apt get install php soap
    修复了该问题,并为此操作系统安装了相应的soap版本(在我的例子中是7.4)。
    reboot
    应该提到的是,它的apache重新启动,不是服务器重新启动。WHM的EasyApache界面在详尽选项列表中还有一个启用Soap的选项。这可能是
    sudo yum install php56w Soap
    !我忘记了w,这个安装了,但仍然不起作用。花了一段时间才弄明白这一点,但现在它起作用了。对我来说,它是sudo apt get install php5.6-soap不需要版本,只需要php soap我必须使用sudo yum install php56 php soap。我使用的是多版本PHP,默认为php7.2,通过PHP-fpm配置了php5.6。另外,请确保运行sudo服务apache2 reload在我的情况下,
    sudo apt get install PHP soap
    我已经升级到php7,忘记了重新安装php70w soap(我总是完全删除旧版本的PHP)如果我想安装php7.3-soap:-),该怎么办?我迷路了。@chris你试过了吗:
    sudo apt get install php7.2-soap