2008/11/24

nusoap与php5内置soap模块类名冲突解决办法

Warning: SoapClient::SoapClient() expects parameter 2 to be array, boolean given in...

出现上述错误,原因是与php5内置soap模块类名冲突。

解决办法:
1.关闭php5的soap扩展。windows关掉extension=php_soap.dll即可,Ubuntu下apt-get install安装的没有此选项,只好重新编译。

2.(推荐此法)修改类名即可。将soapclient()改为nusoap_client(),soap_server()改为nusoap_server()。这样就永远不会发生冲突问题了。nusoap代码中有如下片段:

/**
* Backward compatibility
*/
class soap_server extends
nusoap_server {
}
/**
* For backwards compatiblity, define
soapclient unless the PHP SOAP extension is loaded.
*/
class soapclient
extends nusoap_client {
}

3.php5改为php4。

没有评论:

发表评论