异步请求PHP服务器未响应数据怎么办?如何排查并解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计969个文字,预计阅读时间需要4分钟。
最近发现了一个AJAX异步请求的问题。使用$.post、$.get、$.ajax请求PHP服务器时,总是无法异步返回数据。多次测试后发现,问题在于不同浏览器、不同域名请求时,请求被阻塞了。无需实验即可得出结论:不同浏览器、不同域名请求不受阻塞。
最近发现了一个ajax异步请求的问题,用$.post、$.get、$.ajax请求PHP服务器时,总是无法异步返回数据。
经多次测试才发现:
– 不同浏览器,请求不同域名-不阻塞:无需实验
– 不同浏览器,请求同域名-不阻塞:session_id()返回不同
– 同一浏览器,请求不同域名-不阻塞:session_id返回不同
– 同一浏览器,请求同域名-阻塞:session_id()返回相同
发现问题所在:
1 关闭XDEBUG
2 SESSION锁
3 清除输出缓冲区
1 关闭XDEBUGXDEBUG是实时调试。调试时,它将保持FPM以确保线程正在工作以避免数据污染。
本文共计969个文字,预计阅读时间需要4分钟。
最近发现了一个AJAX异步请求的问题。使用$.post、$.get、$.ajax请求PHP服务器时,总是无法异步返回数据。多次测试后发现,问题在于不同浏览器、不同域名请求时,请求被阻塞了。无需实验即可得出结论:不同浏览器、不同域名请求不受阻塞。
最近发现了一个ajax异步请求的问题,用$.post、$.get、$.ajax请求PHP服务器时,总是无法异步返回数据。
经多次测试才发现:
– 不同浏览器,请求不同域名-不阻塞:无需实验
– 不同浏览器,请求同域名-不阻塞:session_id()返回不同
– 同一浏览器,请求不同域名-不阻塞:session_id返回不同
– 同一浏览器,请求同域名-阻塞:session_id()返回相同
发现问题所在:
1 关闭XDEBUG
2 SESSION锁
3 清除输出缓冲区
1 关闭XDEBUGXDEBUG是实时调试。调试时,它将保持FPM以确保线程正在工作以避免数据污染。

