curl方式访问本地接口出现PHP卡住 无响应,本地环境为windows + nginx +php;
实例:本地搭建A、B两站 A站域名demo.local.com B站域名demo2.local.com 该域名均为本地修改hosts域名
A站需要通过curl接口方式访问B站某一页面,出现无响应状态,等待超时
问题:curl访问本地接口时,出现无响应状态;
A站配置:
B站配置:
注意两站点配置文件fastcgi_pass 端口均为4556;
出错原因:A站调用4556 端口等待结果,同时curl 再次请求4556端口获取数据造成阻塞;所以一直无响应
解决方法之一:经查发现本地Nginx fastcgi_pass 端口为同一端口,将B站fastcgi_pass 端口改为不重复端口,重启php和Nginx
将B站端口修改为4559
启用cmd 命令行 运行:
.\php-cgi.exe -b 127.0.0.1:4559 -c .\php.ini
该方法缺点:cmd 窗口不能关闭,关闭之后B站将不能运行
A站页面源码:
B站页面源码:
请求结果: