用yum安装的php 怎么装soap,关于centos下面的php中soap的调用 及环境安装

在centos5.5的操作系统中,执行如下的命令: /usr/bin/php -m|grep soap /usr/bin/php:这个是php的执行文件,可能不同的服务器位置不同,但是没有关系,用whereis查询一下即可。 上面的命令执行了后,会检测是否启动soap,如果没有,那么不会返回任何结果,如果已经启动了的,那么会看到soap这个字符串。 我做的时候,用的是php5带的soap扩展来做的,centos自带的php的版本是5.1.6的,如果上面没有返回soap结果,那么需要用yum来进行安装: yum install php-soap 这个命令将安装好soap,并且自动在/etc/php.d/目录下面生成一个soap.ini的文件,里面只有一行代码: extension=soap.so 如果看到这一行了,那就说明已经安装上了,然后重新启动httpd: /etc/init.d/httpd stop /etc/init.d/httpd start 然后再执行/usr/bin/php -m|grep soap,确认是否已经启动了soap扩展,如果没有,那就先把这个东西弄好。 接下来需要做一个事情,那就是开通httpd访问网络的权限,如果不开通,将会有错误的,而错误是: PHP Fatal error:  Uncaught SoapFault exception: [HTTP] Could not connect to host in /var/www/html/test/testcall_old.php:10/nStack trace:/n#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://222.210....', 'http://222.210....', 1, 0)/n#1 /var/www/html/test/testcall_old.php(10): SoapClient->__soapCall('createWebCall', Array)/n#2 {main}/n  thrown in /var/www/html/test/testcall_old.php on line 10 至于这个错误,折腾了我三天时间,查询了很多网站,很多文章,可是很多都没有结果,所以基本没有解决。 我调用web service的方式是采用no wsdl的方式,至于wsdl的方式,我没有测试。 从这里顺便说一下我愚蠢的3天所做的事情,这三天就是一直通过各种渠道搜索这个错误,也查看了error_log中的日志,但是除了我上面贴的这个错误,均没有。而代码里面,没有进行错误的输出,所以,在做php的soap的时候(不管是用的nusoap还是php自带的soap),那么记住一定要做错误输出,日志里面是没有记录这些错误的。获取soap的错误的代码: $err=$client->getError() 这个错误有详细的信息。 我处理的过程中,输出的错误信息是: soap_transport_http: Couldn't open socket connection to server *****, Error (13): Permission denied soapclient: Error: HTTP Error: Couldn't open socket connection to server *****  Error (13): Permission denied (注:上面的*****表示我要调用的web service的地址,在此用星号表示了。) 然后我在谷歌上查到了这个错误,是因为linux操作系统中,默认设置了httpd不能访问网络。 那么需要运行命令: setsebool -P httpd_can_network_connect 1 (其中参数的含义自己去查一下,我是水货,写这篇文章的时候,没有去查,不好意思。) 目的是允许httpd访问网络。 另外说一下,如果你不知道setsebool在什么位置,那么建议使用whereis查一下。 如果执行这个命令得到错误信息: bash: setsebool: command not found 那么你需要直接找到这个命令的目录然后执行以下的命令: ./setsebool -P httpd_can_network_connect 1 执行了就ok了,然后重新启动httpd,一切ok。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值