【问题标题】:WAMP Stack PHP "Fatal error: Class 'SoapClient' not found"WAMP 堆栈 PHP“致命错误:找不到类‘SoapClient’”
【发布时间】:2011-10-09 07:07:39
【问题描述】:

我有一个 WAMP(windows (7)、apache、mysql、php)堆栈所有设置和运行。一切都很好,它正在按预期工作和运行。我主要使用这台机器进行开发,但是它可以被外界访问。反正..

我最近遇到一个客户,该客户使用了一个预先存在的 SaaS 产品,其中使用了 cURL、SOAP 等。我将那里的系统放到我的服务器上,然后跳来跳去进行设置,进行设置,开始处理事情,只遇到我正在获取的部分

致命错误:找不到类“SoapClient”

当然,我的第一次跳跃是我忘记取消注释

extension=php_soap.dll

这是真的,所以我取消了注释,保存文件,然后重新启动服务器。但是问题仍然存在(所以我什至尝试重新启动),现在我被卡住了,因为我不是 WAMP/LAMP 堆栈的专家,我只能根据需要绕过它们直到现在。

【问题讨论】:

  • 第一个想法:使用 phpinfo() 检查是否编辑了正确的 php.ini 文件
  • 没有列出。据我所知,确实编辑了正确的 php.ini

标签: php soap windows-7 wamp


【解决方案1】:

php.ini 中取消注释不起作用。我不得不在php.ini-developmentphp.ini-production 中取消注释它。他们都在C:/BitNami/wampstack-.../php

【讨论】:

    【解决方案2】:

    要查找加载的php.ini 文件,请加载phpinfo() 页面。 导航到该路径并在记事本中打开 php.ini 并在其中搜索 php_soap.dll

    取消注释此行并在重新启动服务器之前保存文件。

    【讨论】:

      【解决方案3】:

      您的php/ext/ 文件夹中有php_soap.dll 吗?

      【讨论】:

      • php_soap.dll,位于 php/ext/ 文件夹中。
      【解决方案4】:

      现在可能有点晚了,但是我在 wamp 上遇到了类似的问题,这是因为 php.ini 在 apache 和 cli 模式下是不同的,在 apache 文件夹中有一个包含 php_soap.dll 但cli使用的php文件夹中的一个没有它。我把它加到另一个上,问题就解决了

      【讨论】:

      • 谢谢侯赛因,你成就了我的一天:D 解决了!
      • 如果您通过 WAMP 通知区域按钮启用 SOAP 或任何其他扩展,这就是解决方案。
      • 嗨,我在 wamp PHP 的 php.ini 和我的 wampserver 3.0.0(php 5.6)的 Apache 之一中启用了 soap,我也启用了 openssl,我重新启动了所有服务,但仍然找不到类 SoapClient。我签入了 phpinfo() 并启用了肥皂。我不明白为什么找不到课程。请帮忙。
      • @Eve 据我所知,你做的一切都是正确的,但有时会出现轻微的拼写问题,我建议你使用get_declared_classes 方法来查看你声明的类中是否存在 SoapClient。
      • @HosseinShahdoost 您好,感谢您的回答。我不太记得这个问题,但我在一个 Symfony 项目中,我相信我必须在开头写 new \SoapClient(...),而不是 new SoapClient(...),以告诉 Symfony 它不是一个框架函数,但是一个原生的 php 函数。
      【解决方案5】:

      您可能已经检查过了,但是您使用的是什么版本的 PHP? SoapClient 仅在 5.0.1 之后可用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-08
        • 1970-01-01
        • 1970-01-01
        • 2014-08-05
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        • 2015-03-20
        相关资源
        最近更新 更多