繁体   English   中英

PHP SOAP 扩展不起作用(PHP + IIS + Z4DE91F0FCB9CD3A20B6B6B1D64610A0A 扩展)

[英]PHP SOAP extension not working (PHP + IIS + SOAP Extension)

我在尝试使用 PHP 实现对 web 服务的 SOAP 请求时遇到了一些问题。 我有一个非常小的项目,它只发送 SOAP web 服务的一些请求,解析它们并在表格上显示结果,但它不起作用。 我已经使用 XAMPP 开发了这个,这是我第一次在 IIS web 服务器上部署一些东西,所以我是新手。 我没有使用任何框架,它只是简单的 PHP。

我遇到的第一个问题是 php_soap.dll 扩展似乎被禁用,因为我使用 php_info(); 检查了配置; 我在结果中找不到 SOAP 扩展,但我已经在我的 php.ini 中通过从该行中删除分号来启用它,并且我的扩展文件夹是 Z2FEC392304A5C297AC138DA2284 文件夹下的“ext”。 我有一些其他的扩展正在运行,它们很好。

当我尝试启动 SOAP class 时,做一些 var_dump,它没有返回任何东西(甚至不是 null)。

更多信息:

PHP 版本:7.3.25 IIS 版本:10.0.17763.1 在 Windows 服务器 2019 上运行

2022-09-05 编辑我发现 php_openssl.dll 在我的服务器上不起作用。 我不知道为什么。 它在 php.ini 中启用。 但是, phpinfo(); 显示为禁用。 OpenSSL 已禁用

另一方面,当我在 CMD 上运行“php -m”命令时,它显示 SOAP 和 OpenSSL 已启用:

PHP -M 命令输出

您需要做的第一件事是在 php.ini 文件中启用 php_soap 扩展。 您可以通过从以下行中删除分号来执行此操作:extension=php_soap.dll。 完成此操作后,重新启动 web 服务器。

接下来,您需要确保 php.ini 文件中的 extension_dir 设置指向您的 PHP 扩展所在的目录。 例如,如果您的扩展位于 c:\php\ext 目录中,那么您的 extension_dir 设置应如下所示:

extension_dir = "c:\php\ext"

完成此操作后,重新启动 web 服务器。

如果您仍然无法使 SOAP 扩展工作,请在下面发表评论,我会尽力帮助您。

我已经解决了我的问题。 问题不在 PHP.ini 文件中,该文件配置正确。 问题是我没有为 PHP 和 IIS 安装扩展。 一旦我为 IIS 安装了 PHP 管理器并按照本教程进行配置,它就可以正确运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM