PHP Class SoapClient not found解决方法
要用到SoapClient,new了一个提示Class‘SoapClient'notfound,检查了下phpinfo,原因是当初没有编译这个扩展,只好现在再加上了。
php在调用webservice时,报告如下类似错误:
(!)Fatalerror:Class'SoapClient'notfoundinE:/WebSrv/CI/system/libraries/WebService.phponline17
解决方法:
打开php.ini,找到php_soap.dll,把前面的分号去掉
;extension=php_soap.dll
前提是,已经安装了php_soap.dll
笔者的PHP安装在/usr/local/php/目录下,如果没有安装可以参考下面的方法
$cd/home/downloads/php-5.6.12#进入到PHP源码目录 $cdext/soap#进入soap扩展目录 $/usr/local/php/bin/phpize#准备添加扩展 $./configure-with-php-config=/usr/local/php/bin/php-config--enable-soap#启用SOAP $make $makeinstall
扩展安装完成后提示扩展已安装到这个目录下:
Installingsharedextensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
编辑php.ini文件,启用extension_dir扩展目录,添加soap.so扩展:
;Directoryinwhichtheloadableextensions(modules)reside. ;http://php.net/extension-dir extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/" ;Onwindows: ;extension_dir="ext" extension=soap.so#添加SOAP扩展
重启php-fpm使生效
kill-USR2`cat/usr/local/php/var/run/php-fpm.pid`
Windows下编辑php.ini取消该行注释即可
extension=php_soap.dll