我有一个简单的网站,使用 php 编写,通过 ARM Linux 上运行的 apache 提供服务。它通常运行良好。但有时,某些页面根本无法检索。我有 5-6 个页面。当发生这种情况时,所有其他页面都可以正常工作。也没有超时错误。当它发生时,Firefox 或 Chrome 会一直显示“正在连接...”。我试过了,wget -v
它显示:
HTTP request sent, awaiting response...
并挂在那里。
我可以通过 telnet 进入该框并在本地访问该文件,没有任何问题,所以这不是存储问题。
更奇怪的是:
- 我登录了邮箱
cp foo.php foo1.php
- 回到客户端,
wget -v foo1.php
有同样的问题!
编辑:更多信息
我有一台小型嵌入式 ARM 计算机,用于提供一些简单的 PHP 网页。该计算机位于 Sonicswall 防火墙/VPN 路由器后面的 LAN 上。路由器上配置了端口转发,以允许外部访问 Web 服务器(端口 80)。一开始一切都运行正常。几天后,其中一个页面无法检索。以下是有关该问题的一些奇怪之处:
- 仅影响外部访问。所有页面均可从内部访问。
- 当问题发生时,Apache 日志根本不显示任何请求。
- 重新启动 ARM 计算机它就可以再次工作了。
- 它几乎总是发生在同一个页面上,该页面恰好名为system.php。
所以对我来说这有点神秘:如果是防火墙,重新启动 ARM 计算机将无济于事;如果是 ARM 计算机,那么内部访问也会有同样的问题。
我真的不知道发生了什么事。有人能帮忙吗?
答案1
查看出现错误的时间范围内的 apache 访问和错误日志,看看它们报告了什么。我对 PHP 了解不够,不知道它是否将错误与 Web 服务器分开记录,但如果是,请检查同一时间范围内的 php 日志。
通过日志中的详细信息,可能更容易辨别服务器/页面发生的情况。