Heroku PHP - 从Heroku Server到其自身的file_get_contents导致H12请求超时

时间:2013-10-23 18:58:25

标签: php heroku load-balancing file-get-contents http-status-code-503

当我在Heroku上运行的PHP代码中向服务器本身发出HTTP请求时,我经常会收到请求超时(H12),尽管请求页面本身在浏览器中打开时运行顺畅。我认为这与负载平衡或一台服务器无法处理两个并发请求有关?

有没有办法避免这种情况发生?

在myapp.herokuapp.com/site1.php

上运行的伪代码
file_get_contents("myapp.herokuapp.com/site2.php");

在myapp.herokuapp.com/site2.php

上运行的伪代码
echo "Hello";

记录结果:

at=error code=H12 desc="Request timeout" method=GET path=site2.php host=myapp.herokuapp.com fwd="xx.xx.xx.xxx" dyno=web.2 connect=3ms service=30001ms status=503 bytes=0

1 个答案:

答案 0 :(得分:0)

您可以尝试使用cURL选项而不是file_get_contents

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "myapp.herokuapp.com/site2.php"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$temp = trim(curl_exec($ch));
curl_close($ch);