Apache localhost在重置之前不响应客户端

时间:2017-02-12 09:51:01

标签: php apache

我在常规桌面(不是服务器桌面)上设置了本地服务器,并有3-4台客户端计算机访问我通过WIFI路由器从服务器开发的本地Web应用程序(服务器通过电缆连接到路由器。客户通过WIFI)。

当两个客户端连接到应用程序时一切都很好,但是当第三个(或更多)机器加入时,每个机器都没有从服务器获得任何服务的时间段(应用程序网页保持加载直到我通过服务手动重置服务器上的Apache)。有时服务器会在其中一个客户端刷新页面时响应,但大多数时候我必须执行Apache服务器的重置。

当客户端使用该应用程序时,平均每小时平均发生一次(连续使用6小时)。

服务器运行Windows 7和Apache v2.4 with PHP v5.4

服务器和所有客户端计算机正在运行AVG Internet安全性

防火墙由AVG Internet Security处理

这个问题是由于我的应用程序中的代码,桌面无法管理服务器机器,防病毒或三者混合等请求吗? 如果是这样,我如何设置服务器自动重置?

由于

更新

这是一个用户在查看信息后编写文件报告的应用程序

- 对文件数据的频繁sql请求

- 没有图片

- 某些页面包含多个代表页面内容的SQL查询

-Network没有互联网连接

-Code不会从互联网上请求外部信息

- 所有客户端计算机都在Google Chrome网络浏览器上运行该应用程序

2 个答案:

答案 0 :(得分:0)

但它很少发生,但有时连接数量受应用程序使用的第三方接口的限制。我们无法找出原因,除非有更多详细信息,例如您的应用内容,以及错误代码apache或HTTP返回。

答案 1 :(得分:0)

这种情况很难跟踪,特别是在Windows上,诊断工具不像其他平台那样容易获得。

我想您可以尝试通过运行几乎没有防病毒的服务器和客户端几个小时来检查防病毒,或者在发生挂断时禁用并重新启用防病毒。

除此之外,您还需要确定错误发生的位置:

  • 在连接阶段(Windows操作系统是问题)
  • 在响应阶段(Apache是​​问题 - 尝试摆弄子生成参数)
  • 在管理阶段(PHP是问题 - 你可以通过改变PHP-as-a-module和PHP-as-CGI-application的设置来检查)
  • 在响应阶段(即与SQL服务器的连接)。您可以通过设置一些使用会话,数据库和输出缓冲的不同组合的页面来检查这一点,并查看即使应用程序挂断,那些页面是否仍然可以访问。

对于最后一个例子,如果是

这样的页面
<?php print date("H:i:s"); phpinfo(); ?>
即使应用程序没有响应,

仍然可以访问并正确刷新(这就是date()命令的原因),这表明Windows,Apache和PHP是无辜的&#34;,或者是SQL Server有问题,或者您没有正确地与它连接。例如,可能是这种情况(虽然在这种情况下不太可能)常驻PHP模块正在累积与SQL服务器的连接而不释放它们,所以一段时间后你需要停止Apache(从而释放模块)并重新启动

如果是这种情况,即使它不是真实的&#34;修复,您可以设置Apache,以便所有孩子死亡并在少量请求后更换(一旦它是150,但当泄漏几乎消失时,我相信默认变为0 - Apache儿童不再死亡。检查它,我可能会记错了。)