各位高手有遇到这种情况吗?就是PHP与其他语言的接口问题应用php soapserver wsdl clent客户端访问 nginx 服务的服务端值传不过去,访问自己电脑的apache的就好使。服务器上是nginx的服务器,请问这是什么问题啊?最好详细说说,我是这方面的小白这是代码客户端:$client = new SoapClient("http://192.168.1.235/api/api.php?wsdl");
   $arr='55555';
print_r($client->say($arr));
    echo "<br />";
print_r($client->run());
    echo "<br />";服务端:require_once("person.class.php");
$video_stream = array('uri' =>'http://192.168.1.25/vms/api/api.php','encoding'=>'utf8');
$vms_server =new SoapServer('person.wsdl',$video_stream);
$vms_server->setClass("person");//注册person类的所有方法
$vms_server->handle();//处理请求类:class person
     {
        public function say($arr) 
         { 
                $filename="1.txt";
                $file=file_put_contents($filename, $arr,FILE_APPEND);
                if($arr){
                    return true;
                }else{
                    return false;
                }
         }
         public function run()
         {
             return("i'm running.");
         }
     }我的开发环境是nginx+php,准备作一个soap的实验,soapclient和soapserver都是在我的开发机上,用soapclient访问soapserver的时候,总是返回504错误,相同的代码放到apache+php_module的环境下没有问题。
nginx的错误日志显示,client和server的错误都是fastcgi超时,我一度怀疑是soapserver的问题,soapserver超时不响应,导致了soapclient的超时。
但是我用cli模式执行client,server能正常返回,说明不是soapserver的问题。
用nginx下的client访问apache上的server,正常
用apache下的client访问nginx上的server,正常