我正在维护一个旧的CodeIgniter网络应用程序。
最近,当保存某些表单时,浏览器会显示请求状态的永久“待处理”。请求永远不会完成(除非我重新启动Web服务器,在这种情况下它会立即出错)。
Dev Tools中没有任何客户端错误。
日志中没有任何服务器端错误。
这种情况发生在不同的浏览器中。
它发生在Chrome无法隐身窗口中,未加载扩展程序。
所有我必须继续的是,它点击的提交按钮,浏览器显示“等待<servername>
”并且没有其他事情发生。
这看起来像网络问题吗?加载任何应用程序的其他页面都没有问题,所有这些页面都来自同一个数据库和Web服务器。
如果客户端或服务器都没有显示错误,如何在浏览器中调试“待处理”HTTP请求?
TIA
答案 0 :(得分:1)
您可以排除网络问题,因为其他网站正在运行。如果同一站点有时有效,有时不会出现网络问题,但这种可能性不大。
请求处于挂起且没有任何错误的事实意味着服务器接受了请求并正在处理它。当没有错误时,服务器会处理它,直到出现错误或php处理器返回响应为止。
这让我想到问题是服务器端代码中的无限循环或长时间运行的功能。
错误检测程序
首先检查index.php
中是否启用了错误报告。
现在你可以等到代码在超时运行并抛出错误
和/或
您可以转到config/routes.php
并检查哪个控制器和功能处理请求并分解功能并测试哪一个需要这么长时间。
如果您需要进一步的帮助,请粘贴一些代码。