PHP访问C#建立的Webservice

最近遇到要使用PHP访问WebService。问了一下PHP程序员,用过的人少。自己配置。
在XP上配置不成功,在Win2003上安装一个5.2,安装时记得选择支持Soap。安装完后把IIS里解释PHP的DLL路径改正确。
把PHP.ini文件拷贝到Windows目录下,把Soap的Dll文件php_soap.dll拷贝到System32目录下。重启IIS。新建一个PHP文件。
1/* soap.php */ 2/* 连接的是C#实现的Webservice */ 3$client = new
SoapClient( ); 4$client-YourFunctionName( 5array( 6 Parameter1=Value1, 7
Parameter2=Value2) ); 8print $client-YourFunctionNameResult; 9
这样就得到结果了。
SoapClient语法详见php.net。用它也可以建立PHP的WebService。 本文来自:
中国自学编程网() 详细出处参考:

PHP Class SoapClient not found解决方法,soapclientfound

要用到 SoapClient, new 了一个提示 Class ‘SoapClient’ not found, 检查了下
phpinfo, 原因是当初没有编译这个扩展, 只好现在再加上了。

php在调用webservice时,报告如下类似错误:

( ! ) Fatal error: Class ‘SoapClient’ not found in
E:/WebSrv/CI/system/libraries/WebService.php on line 17

解决方法:

打开php.ini,找到php_soap.dll , 把前面的分号去掉

;extension=php_soap.dll

前提是,已经安装了 php_soap.dll

笔者的 PHP 安装在 /usr/local/php/ 目录下,如果没有安装可以参考下面的方法

$ cd /home/downloads/php-5.6.12   # 进入到 PHP 源码目录
$ cd ext/soap  # 进入 soap 扩展目录
$ /usr/local/php/bin/phpize # 准备添加扩展
$ ./configure -with-php-config=/usr/local/php/bin/php-config --enable-soap   # 启用 SOAP
$ make
$ make install

扩展安装完成后提示扩展已安装到这个目录下:

Installing shared extensions:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

编辑 php.ini 文件, 启用 extension_dir 扩展目录, 添加 soap.so 扩展:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"
; On windows:
; 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

Class SoapClient not
found解决方法,soapclientfound 要用到 SoapClient, new 了一个提示 Class
‘SoapClient’ not found, 检查了下 phpinfo, 原因是当初没有编译…

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图