【问题标题】:Debugging a 404 error for an existing page调试现有页面的 404 错误
【发布时间】:2015-06-09 19:17:44
【问题描述】:

我在服务器上有一个 PHP 脚本,通常...

  1. 通过 POST 从服务 A 接收 url 编码的数据
  2. 调整服务 B 的数据
  3. 提交给服务 B

这很好用,只是服务 A 经常报告脚本 404'd(未找到)。

我想弄清楚两件事:

  1. 如果脚本存在且可访问,为什么会出现 404 错误?
  2. 我认为该问题与脚本中某处的超时有关。有没有办法可以避免 404 错误并记录一些有用的消息,like in this post?

谢谢!

【问题讨论】:

  • 如果您当前正在重新上传文件,它可能会暂时返回 404。
  • 谢谢。在这种情况下,文件很少被触及。
  • 你能分辨出 404 是 PHP 还是 web 服务器返回的?
  • 我相信网络服务器正在返回 404。在Service A的后端,据报道返回的响应是HTTP Status Code: 404. cURL Error: 0
  • 如果它来自服务器,它还应该返回一个通用的 404 页面(例如,这里是 Apache 的:articles.slicehost.com/assets/2008/12/5/apache-404-footer.jpg)或任何配置为在 404 发生时使用的文件。在这种情况下,您还应该在 Web 服务器的日志文件中包含一些内容。试着检查一下,看看有没有什么有趣的东西出现。

标签: php timeout http-status-code-404 integration


【解决方案1】:

看起来您正在使用一些裸代码库(即一些程序化或架构不佳的面向对象解决方案)。使用Zend 或Symfony 等公认的PHP 框架,您可以为此类情况定义错误处理程序,并根据发送和接收的数据进行适当的处​​理,例如重试该特定请求,或者使用queue system 重新安排作业。

给你的建议,不要在乎为什么。为应用做好准备。

【讨论】:

  • 我认为即使 OP 确实决定将他的整个代码库迁移到 Zend 或 Symfony 等,在执行此操作之前了解为什么会发生这种情况仍然很好移民。如果事情一开始就正确编码/配置,我认为不需要队列系统。
  • 当然很高兴知道,但我的印象是 OP 无法控制这些服务,此外,问题似乎是间歇性的。
猜你喜欢
  • 2015-03-27
  • 1970-01-01
  • 2015-08-08
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多