centos安装php扩展soap实现webservice(已经做测试)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nuli888/article/details/51854596

php有两个扩展可以实现web service,一个是NuSoap,一个是php 官方的soap扩展,由于soap是官方的,使用的人更多,所以项目中也是用的soap

1、安装soap

#yum install php-soap -y


2、php加载redis扩展
#vi /etc/php.ini
extension_dir = "/usr/lib64/php/modules"
extension="soap.so"
#:wq! #保存退出


3、重新加载php-fpm
#service php-fpm reload
如果是apache 则 #service httpd restart

 

4、测试,查看phpinfo信息,如下图所示:

5、代码测试

SoapServer.php代码

 
  1. <?php

  2. /**

  3. * SoapServer.php

  4. * webservice 服务器端实例

  5. */

  6. //包含提供服务的类

  7. require_once 'Personinfo.php';

  8.  
  9. //根据实际情况修改下行内容

  10. $s = new SoapServer(null, array("location" => "http://192.168.10.111/soap/SoapServer.php", "uri" => "SoapServer.php"));

  11.  
  12. $s->setClass("PersonInfo");

  13.  
  14. $s->handle();

  15.  
  16. ?>

Personinfo.php代码

 
  1. <?php

  2. /**

  3. * Personinfo.php

  4. * 此类包含了需要调用的方法

  5. * @author itbdw

  6. *

  7. */

  8. class Personinfo {

  9.  
  10. /**

  11. * 返回姓名

  12. * @return unknown_type

  13. */

  14. public function getName() {

  15. return 'IT不倒翁';

  16. }

  17.  
  18. /**

  19. * 返回特定格式的日期

  20. * @return unknown_type

  21. */

  22. public function getTime() {

  23. return date('Y-m-d');

  24. }

  25.  
  26. }


SoapClient.php代码:

 
  1. <?php

  2. /**

  3. * SoapClient.php

  4. * webservice 客户端实例

  5. */

  6. header('Content-Type:text/html;charset=utf-8');

  7.  
  8. try {

  9.  
  10. //根据实际情况修改下行内容

  11. $soap = new SoapClient(null, array('location'=>'http://192.168.10.111/soap/SoapServer.php', 'uri'=>'SoapServer.php'));

  12.  
  13.  
  14. echo $soap->getName();

  15. echo $soap->getTime();

  16.  
  17. } catch(SoapFault $e) {

  18. echo $e->getMessage();

  19. } catch(Exception $e) {

  20. echo $e->getMessage();

  21. }


访问

调用方式还有挺多的,如 $soap->__soapCall('functionName',$paramArray)

来源:https://blog.csdn.net/nuli888/article/details/51854596?locationNum=1&fps=1

猜你喜欢

转载自blog.csdn.net/gb4215287/article/details/82531580