版权声明:本文为博主原创文章,未经博主允许不得转载。 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代码
-
<?php
-
/**
-
* SoapServer.php
-
* webservice 服务器端实例
-
*/
-
//包含提供服务的类
-
require_once 'Personinfo.php';
-
//根据实际情况修改下行内容
-
$s = new SoapServer(null, array("location" => "http://192.168.10.111/soap/SoapServer.php", "uri" => "SoapServer.php"));
-
$s->setClass("PersonInfo");
-
$s->handle();
-
?>
Personinfo.php代码
-
<?php
-
/**
-
* Personinfo.php
-
* 此类包含了需要调用的方法
-
* @author itbdw
-
*
-
*/
-
class Personinfo {
-
/**
-
* 返回姓名
-
* @return unknown_type
-
*/
-
public function getName() {
-
return 'IT不倒翁';
-
}
-
/**
-
* 返回特定格式的日期
-
* @return unknown_type
-
*/
-
public function getTime() {
-
return date('Y-m-d');
-
}
-
}
SoapClient.php代码:
-
<?php
-
/**
-
* SoapClient.php
-
* webservice 客户端实例
-
*/
-
header('Content-Type:text/html;charset=utf-8');
-
try {
-
//根据实际情况修改下行内容
-
$soap = new SoapClient(null, array('location'=>'http://192.168.10.111/soap/SoapServer.php', 'uri'=>'SoapServer.php'));
-
echo $soap->getName();
-
echo $soap->getTime();
-
} catch(SoapFault $e) {
-
echo $e->getMessage();
-
} catch(Exception $e) {
-
echo $e->getMessage();
-
}
访问
调用方式还有挺多的,如 $soap->__soapCall('functionName',$paramArray)
来源:https://blog.csdn.net/nuli888/article/details/51854596?locationNum=1&fps=1