2016-10-26 39 views
0

我正在上laravel一个小网站工作,我取回从符的一些数据,并用它在我的本地和一切都很好,然后我上传它在我的服务器3和他们都不能发送请求。袅袅不工作的服务器,但在localhost

服务器1 = http://testing2.vire-news.com/(主持人:GoDaddy的)

服务器2 = http://testing.asmani.pk/(主机:HostGator的)

,如果你点击搜索它不会给你的web服务的结果。

我已搜查计算器上把一切都挺CURLOPT_POSTCURLOPT_FOLLOWLOCATION等,并没有什么作品出来

服务器1上提示错误

“无法连接到emexonline.com 3000端口:连接拒绝“

在服务器2上它保持连接,然后超时。 我做了一个相同代码的简单php文件来测试出laravel环境,它也不起作用。

注意:我已经测试了其他类似facebook和twitter API的卷发web服务,并且它们都在这些服务器上正常工作,并且我已联系web服务提供商,他们说一切正常,其他客户也在使用他们的web服务没有任何问题。

这里是我已经取下来从XML数据的用户名和密码的代码。 一切工作正常在本地和服务器上它给错误和所有其他功能工作正常只有Web服务没有连接。

$xml_data = '<?xml version="1.0" encoding="utf-8"?> 
     <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> 
      <soap12:Body> 
      <SearchPart xmlns="http://emexonline.com:3000/MaximaWS/"> 
       <Customer> 
       <UserName>username</UserName> 
       <Password>password</Password> 
       <SubCustomerId>0</SubCustomerId> 
       <CustomerId>20879</CustomerId> 
       </Customer> 
       <DetailNum>'.$Request->search.'</DetailNum> 
       <ShowSubsts>0</ShowSubsts> 
      </SearchPart> 
      </soap12:Body> 
     </soap12:Envelope> 
     '; 
     $headers = array(
     "POST /MaximaWS/Service.asmx HTTP/1.1", 
     "Host: emexonline.com", 
     "Content-Type: application/soap+xml; charset=utf-8", 
     "SOAPAction: \"http://dpd.com/common/service/LoginService/2.0/getAuth\"", 
     "Content-Length: ".strlen($xml_data) 
     ); 

     $url = 'http://emexonline.com:3000/MaximaWS/Service.asmx'; 
     $curll = curl_init(); 
     curl_setopt($curll, CURLOPT_URL,$url); 
     curl_setopt($curll, CURLOPT_RETURNTRANSFER,1); 
     curl_setopt($curll, CURLOPT_TIMEOUT, 30); 
     curl_setopt($curll, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($curll, CURLOPT_SSL_VERIFYPEER, FALSE); 
     curl_setopt($curll, CURLOPT_POSTFIELDS, $xml_data); 
     $reply = curl_exec($curll); 

好了,不要问得使用curl_errno($ch)curl_error($ch)curl_getinfo($ch),我已经使用他们,并得到了结果。

这里的结果和成功的本地主机运行的信息

Array ([url] => http://emexonline.com:3000/MaximaWS/service.wsdl [content_type] => text/html [http_code] => 405 [header_size] => 203 [request_size] => 834 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.578 [namelookup_time] => 0.25 [connect_time] => 0.422 [pretransfer_time] => 0.422 [size_upload] => 617 [size_download] => 1293 [speed_download] => 2237 [speed_upload] => 1067 [download_content_length] => 1293 [upload_content_length] => 617 [starttransfer_time] => 0.578 [redirect_time] => 0 [redirect_url] => [primary_ip] => 86.98.88.87 [certinfo] => Array () [primary_port] => 3000 [local_ip] => 192.168.0.102 [local_port] => 53325) 

error: no error 

这里的

Array ([url] => http://emexonline.com/MaximaWS/Service.asmx [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 30.001115 [namelookup_time] => 0.12449 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => [certinfo] => Array () [primary_port] => 0 [local_ip] => [local_port] => 0) 

error: Connection timed out after 30001 milliseconds 
+0

是,你是在有问题的服务器上启用卷曲? – FluxCoder

+0

当您从服务器使用端口进行curl时,当localhost没有端口并且击中其他端点时。是否有一个原因?从你的电脑,并从服务器 – krasipenkov

+0

@krasipenkov这是一个错字都哥哥正在使用相同的代码尝试从服务器Telnet到远程服务器上的3000端口。 –

回答

0

可以增加30至60超时也在你的代码有结果的和不成功的服务器运行的信息未设置 curl_setopt($ ch,CURLOPT_POST,1)此参数。

+0

网络访问。 –

+0

这个问题是我测试我的客户的服务器上的服务器本身它工作得很好 感谢所有。 curi在PHP ini中启用,但从linux核心关闭,不允许它通过 –

相关问题