我正在使用SOAP集成支付网关。当我使用Wamp调用服务功能时,它运行良好。但在我的实时服务器上,它会发出以下错误 - Class'SoapClient'未找到
我正在使用的代码是
<?php
try
{
$soap_client=new SoapClient("WebServiceLink/service.asmx?WSDL");
$quote=$soap_client->PGI_TRANS("PassedParameter");
echo $quote->PGI_TRANSResult;
}
catch(SoapFault $exception)
{
echo $exception->getmessage();
}
?>
答案 0 :(得分:7)
在php中启用soap扩展程序。 打开php.ini找到该行有“php_soap”并取消注释此行, 重启Web服务器,问题解决了。
答案 1 :(得分:4)
您不必修改php.ini以在现代发行版上启用soap。如果未启用,则可能未安装该软件包。安装正确的软件包后,您的发行版应为您启用正确的php.ini设置。
在Ubuntu上:
sudo apt-get install php-soap
将为您安装和启用soap扩展程序。
答案 2 :(得分:0)
您必须继承nusoap.php类并将其放在项目目录中,您可以从Internet下载。
下载链接:http://sourceforge.net/projects/nusoap/
使用此代码:
require_once( 'nusoap.php');
答案 3 :(得分:0)
For Ubuntu17.10 Artful I've used the following command to view exact package name (it can be different).
>> apt-cache search php | grep -i soap
libnusoap-php - SOAP toolkit for PHP
php7.1-soap - SOAP module for PHP
python-pysimplesoap - simple and lightweight SOAP Library (Python 2)
python3-pysimplesoap - simple and lightweight SOAP Library (Python 3)
php-soap - SOAP module for PHP [default]
php5.6-soap - SOAP module for PHP
php7.0-soap - SOAP module for PHP
php7.2-soap - SOAP module for PHP
That's how I get the name. Then just install it.
sudo apt-get install php5.6-soap
P.S. Don't forget to update repository sudo apt-get install php-soap
答案 4 :(得分:0)
对于Ubuntu,运行以下命令修复了我的问题,
sudo apt-get install php-soap
然后运行
sudo service apache2 restart