apache冻结没有日志或错误消息

时间:2013-12-16 23:09:52

标签: php windows apache

我需要在两个开发人员工作站上本地安装大型网站。这些站点用php5编写,部分在Zend 1.10中,数据库是MySQL。生产服务器在Windows Server 2003上运行。这些站点已经在开发站的Windows Vista上和另一台的Windows 7上运行。

在我必须安装的两个工作站(Windows xp和Windows 7)上,会出现同样的奇怪现象:在几次成功请求后,apache冻结并且不再响应任何查询。在重新启动Apache需要很长时间(> 30秒)之后,该站点才会工作。 Windows事件查看器或apache日志中没有任何内容。 Handle.exe什么也没告诉我,甚至在apache开始挂起时冻结。 Windows任务管理器没有显示异常。我已将主机文件php.ini,httpd.conf和httpd.vhost.conf与工作的工作站进行了比较,但没有发现任何差异。

配置包括mod_rewrite,mod_proxy,apc,memcached。 Apache版本是2.2和PHP 5.3.x(线程安全)。代码受版本控制,数据库和数据目录同步。

不熟悉Windows,我正在寻找解决此问题的工具或假设。

1 个答案:

答案 0 :(得分:0)

我提供了一些有关我应用的临时解决方案的信息。我注意到在Apache冻结之前执行了一小部分PHP代码。

执行在Zend_Validate_Ip方法中的Zend类setOptions内停止。此时,文件被锁定以进行写入并由httpd.exe保存。

我发现此文件与原始版本(Zend 1.11.11)略有不同:require_once已被删除。这是official documentation建议的可接受的优化。

但是,恢复该文件中的require_once,问题就解决了。 Apache不再冻结,一切正常。因此,类加载一定存在问题,但我不确切地知道它是什么。