解决本地CURL超时访问

curl方式访问本地接口出现PHP卡住 无响应,本地环境为windows + nginx +php;

实例:本地搭建A、B两站 A站域名demo.local.com B站域名demo2.local.com 该域名均为本地修改hosts域名

A站需要通过curl接口方式访问B站某一页面,出现无响应状态,等待超时

问题:curl访问本地接口时,出现无响应状态;

5bf58378b4753.png


A站配置:

5bf5840f51232.png

B站配置:

5bf5843ccb0dd.png


注意两站点配置文件fastcgi_pass 端口均为4556;

出错原因:A站调用4556 端口等待结果,同时curl 再次请求4556端口获取数据造成阻塞;所以一直无响应


解决方法之一:经查发现本地Nginx fastcgi_pass 端口为同一端口,将B站fastcgi_pass 端口改为不重复端口,重启php和Nginx

将B站端口修改为4559

5bf584de4ab3f.png

启用cmd 命令行 运行:

.\php-cgi.exe -b 127.0.0.1:4559 -c .\php.ini

5bf584f447641.png


该方法缺点:cmd 窗口不能关闭,关闭之后B站将不能运行

A站页面源码:

5bf5856fd4de7.png

B站页面源码:

5bf585b140e1f.png

请求结果:

5bf585c68d0e0.png

评论