2013-12-16 28 views
0

我需要在两个开发人员工作站上本地安装大型站点。这些网站在php5中用Zend 1.10编写,数据库是MySQL。生产服务器在Windows Server 2003上运行。这些网站已经在开发站的windows vista上运行,另一台运行在windows 7上。apache冻结,没有日志或错误消息

在我必须安装的两个工作站(Windows XP和Windows 7)上,会出现同样的奇怪现象:几次成功请求后,apache冻结并不再响应任何查询。直到需要很长时间(> 30秒)的Apache重新启动后,该站点才能正常工作。 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,我正在寻找工具或假设来解决这个问题。

+0

考虑将您的帖子编辑为更具可读性的格式。 '墙上的文字'不容易阅读。 – Sammitch

回答

0

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

执行在Zend类中停止,Zend_Validate_IpsetOptions方法中停止。此时,该文件被锁定以便写入并由httpd.exe保存。

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

但是,恢复该文件中的require_once,问题就解决了。 Apache不再冻结,一切正常。所以,类加载一定有问题,但我不明白它是什么。