我正在尝试一个简单的Web服务示例,即使我在 php.ini 文件中取消注释 extension=php_soap.dll ,我也会收到此错误:
php.ini
extension=php_soap.dll
致命错误:在第2行的C:\ Program Files(x86)\ EasyPHP-5.3.9 \ www \ server.php中找不到类'SoapClient'
Diagnose
在脚本文件中查找以下内容
phpinfo();
如果找不到 Soap Client 设置为 enabled 就像这样:
Soap Client
enabled
Fix
请执行下列操作:
在 apache bin文件夹中找到 php.ini ,即 Apache/bin/php.ini
Apache/bin/php.ini
从 extension=php_soap.dll 的开头删除 ;
;
重新启动Apache服务器
再次查找 phpinfo(); 并检查是否看到与上面相似的图片
如果你这样做,问题就解决了!
另一方面,如果这不能解决您的问题,您可能需要检查requirements for SOAP here . 同样在评论部分,您可以找到有关连接到https的好建议 .
要在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
对于AWS(RHEL):
sudo yum install php56-soap
(56这里是5.6 PHP版本 - 把你的版本放在这里) .
要在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-config --configure-options --enable-soap
以root身份重启apache .
那很有效!现在我的phpinfo()调用显示了SOAP部分 .
我 couln't find SOAP 中的 SOAP 部分所以我必须安装它 .
SOAP
有关信息, SOAP 扩展名需要 libxml PHP扩展名 . 这意味着根据http://php.net/manual/en/soap.requirements.php也需要传入 --enable-libxml
libxml
--enable-libxml
From WHM panel
软件»模块安装程序»PHP扩展和应用程序包
安装SOAP 0.13.0
警告:不推荐使用“pear / HTTP_Request”,而选择“pear / HTTP_Request2”
安装ok:channel://pear.php.net/SOAP-0.13.0
安装ok:channel://pear.php.net/HTTP_Request2
From shell command
1.pear安装SOAP
2.reboot
我在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
您必须继承 nusoap.php 类并将其放在项目目录中,您可以从Internet下载它 .
nusoap.php
使用此代码:
require_once('nusoap.php');
8 回答
Diagnose
在脚本文件中查找以下内容
如果找不到
Soap Client
设置为enabled
就像这样:Fix
请执行下列操作:
在 apache bin文件夹中找到
php.ini
,即Apache/bin/php.ini
从
extension=php_soap.dll
的开头删除;
重新启动Apache服务器
再次查找
phpinfo();
并检查是否看到与上面相似的图片如果你这样做,问题就解决了!
另一方面,如果这不能解决您的问题,您可能需要检查requirements for SOAP here . 同样在评论部分,您可以找到有关连接到https的好建议 .
要在PHP-7中安装SOAP,请在Ubuntu终端中运行以下命令:
要在PHP-7.1中安装SOAP,请在Ubuntu终端中运行以下命令:
要在PHP-7.2中安装SOAP,请在Ubuntu终端中运行以下命令:
对于AWS(RHEL):
(56这里是5.6 PHP版本 - 把你的版本放在这里) .
要在PHP5.6中安装SOAP,请在Ubuntu 14.04终端中运行以下命令:
查看SOAP是否已启用:
(您应该在返回的文本之间看到SOAP . )
我不得不跑
以root身份重启apache .
那很有效!现在我的phpinfo()调用显示了SOAP部分 .
我 couln't find
SOAP
中的SOAP
部分所以我必须安装它 .有关信息,
SOAP
扩展名需要libxml
PHP扩展名 . 这意味着根据http://php.net/manual/en/soap.requirements.php也需要传入--enable-libxml
From WHM panel
软件»模块安装程序»PHP扩展和应用程序包
安装SOAP 0.13.0
警告:不推荐使用“pear / HTTP_Request”,而选择“pear / HTTP_Request2”
安装ok:channel://pear.php.net/SOAP-0.13.0
安装ok:channel://pear.php.net/HTTP_Request2
From shell command
1.pear安装SOAP
2.reboot
我在PHP 7.0.22-0ubuntu0.16.04.1 nginx上解决了这个问题
您必须继承
nusoap.php
类并将其放在项目目录中,您可以从Internet下载它 .使用此代码: