使用PHP Http空响应

时间:2015-06-16 20:49:18

标签: php apache http curl

我手上有一大麻烦。随机我的服务器开始从我的PHP文件中返回无缓冲区。我的意思是,我访问somefile.php,然后我在系统中做了一些事情,当我再次尝试访问somefile.php时,我突然得到了一个 ERR_EMPTY RESPONSE (在浏览器中)。

我已经在所有浏览器中尝试过了。一样。当我要求其他人在另一台机器上访问同一个文件时,它没问题,但在我的机器上,我仍然看到错误。所以我决定在页面中做一个cURL请求,看看发生了什么,结果如下。

使用以下代码:

<?php
$ch = curl_init("http://192.168.1.15/curiaonline/projetobase/paroquialogada.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_POST, true);
?>

我得到了:

HTTP/1.1 200 OK
Date: Tue, 16 Jun 2015 20:41:59 GMT
Server: Apache/2.4.9 (Win64) PHP/5.5.12
X-Powered-By: PHP/5.5.12
Content-Length: 7
Connection: close
Content-Type: text/html

hy test"
* Hostname was NOT found in DNS cache
*   Trying 192.168.1.15...
* Connected to 192.168.1.15 (192.168.1.15) port 80 (#0)
> POST /curiaonline/projetobase/paroquialogada.php HTTP/1.1
Host: 192.168.1.15
Accept: */*
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue

< HTTP/1.1 200 OK
< Date: Tue, 16 Jun 2015 20:41:59 GMT
< Server: Apache/2.4.9 (Win64) PHP/5.5.12
< X-Powered-By: PHP/5.5.12
< Content-Length: 7
< Connection: close
< Content-Type: text/html
< 
* Closing connection 0

然后我将 CURLOPT_POST 更改为 FALSE 我得到了:

* Hostname was NOT found in DNS cache
*   Trying 192.168.1.15...
* Connected to 192.168.1.15 (192.168.1.15) port 80 (#0)
> GET /curiaonline/projetobase/paroquialogada.php HTTP/1.1
Host: 192.168.1.15
Accept: */*

* Empty reply from server
* Connection #0 to host 192.168.1.15 left intact

paroquialogada.php文件只包含&#34; hy test&#34;。

我已经尝试过:

  • 禁用我的防火墙
  • 禁用服务器防火墙
  • 在PHP错误日志中搜索错误
  • 在Apache错误日志中搜索错误
  • 清理我的dns缓存
  • 续订我的Windows连接

2 个答案:

答案 0 :(得分:2)

我发现了问题。我必须用来访问我的帐户,这是网上银行的安全软件,因为我是 Banco do Brasil的客户。 GAS Tecnologia 提供的此软件将chrome请求视为病毒,并在Windows中阻止来自服务器的响应。任何有可能出现问题且使用网上银行的人都会禁用此软件。

答案 1 :(得分:0)

  

然后我改变了CURLOPT_POST to FALSE我得到了:

如果网页内容需要 POST 来处理请求。每个请求都必须使用 POST 请求。

例如假设一个页面如下所示

if( isset($_POST["blabla"]) ){
 //then do something
}

如果部分仅适用于POST,请考虑此问题。

不要在浏览器上刷新您的页面。使用 POST 提交必要的值。