api.testks.com 已在本机host做了指向, 浏览器直接访问是可以打开页面,但是从CURL里就会返回false. 如果将域名换成线上的,如www.baidu.com则问题.
为什么自己指的HOST就不行呢?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://api.testks.com");
curl_setopt($ch, CURLOPT_HEADER, 0);
$res = curl_exec($ch);
应该是你本机的 php-cgi 进程繁忙,请求得不到响应。
要搞清 curl localhost 这个问题,假设环境是 nginx + fpm, nginx 部分配置如下:
想像一次 http 请求到来, nginx 匹配到 php 文件时, 通过 fastcgi 协议把请求交由 php-cgi 处理,
php-cgi 进程监听到 9000 端口(可以通过 netstat -tl 命令查看端口状态)请求到来处理并返回...
假若某一时刻 php-cgi 进程繁忙 (或者说就只有一个 >_<),当然没有办法处理下一个请求。
nginx 可以通过负载均衡来增加 php-cgi 进程