对于php实现soap代理的一个常见问题:Class 'SoapClient' not found in PHP的处理方法

首先确定,这是因为你的电脑的php.ini配置文件中的extension=php_soap.dll这个项没有或者没打开(没打开的意思是他的前面有个“;”)。这点请不用质疑。然后,你写个php文件,里面什么都不用写,就写一句“phpinfo();”即可。

如:

对于php实现soap代理的一个常见问题:Class 'SoapClient' not found in PHP的处理方法_第1张图片
然后去浏览器打开这个页面。看里面的一个Loaded Configuration File的值是什么。如:

对于php实现soap代理的一个常见问题:Class 'SoapClient' not found in PHP的处理方法_第2张图片
然后在电脑中找到对应的该文件,打开,在里面找到一大堆extension=...的,看里面有没有:extension=php_soap.dll,有就将其前面的“;”去掉,没有就加上这句即可。如果必要的话,还可以将以下这个也配置好:extension=php_openssl.dll。特别注意:这里不是apache整套安装包里面的:对于php实现soap代理的一个常见问题:Class 'SoapClient' not found in PHP的处理方法_第3张图片,不要在这几个文件里面改,虽然里面都有那个项。但改了根本没用。

  然后保存。重启apache。再次去打开你要打开的soap代理页面。就可以了。测试soap是否可以的测试文件这里附上代码:

<?php
//echo phpinfo();

 $client = new SoapClient("http://www.webservicex.net/globalweather.asmx?WSDL");       
 $param=array("CountryName"=>'China');   
 $out=$client->GetCitiesByCountry($param);   
 $data=$out->GetCitiesByCountryResult;  
 print_r($data);  
 
 
 $param=array("CityName"=>'Beijing',"CountryName"=>'China');
 $out1 = $client->GetWeather($param);
 $data1 = $out1->GetWeatherResult;
 print_r($data1);


?>

再附上图片:

对于php实现soap代理的一个常见问题:Class 'SoapClient' not found in PHP的处理方法_第4张图片

你可能感兴趣的:(apache,PHP,测试,Class,SOAP,extension)