centos安装php扩展soap实现webservice

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)




你可能感兴趣的:(webservice,SOAP)