centos6.8安装php扩展soap实现webservice
php有两个扩展可以实现web service,一个是NuSoap,一个是php 官方的soap扩展,由于soap是官方的,使用的人更多,所以项目中也是用的soap
查看是否安装soap
利用php文件,输入 phpinfo()函数查看是否安装soap
安装soap
命令行输入以下命令:
yum -y install php-soap
php加载soap扩展
#vi /etc/php.ini
extension_dir = “/usr/lib64/php/modules”
extension=“soap.so”
:wq! #保存退出
重新加载php-fpm
service php-fpm reload
如果是apache 则
service httpd restart
再次查看phpinfo信息,如下图所示:
代码测试
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)