【问题标题】:apache freezes without log or error messagesapache 在没有日志或错误消息的情况下冻结
【发布时间】:2013-12-16 23:09:52
【问题描述】:

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

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

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

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

【问题讨论】:

  • 考虑将您的帖子编辑成更易读的格式。 'Wall-o-Text' 不易阅读。

标签: php windows apache


【解决方案1】:

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

执行在 Zend 类中停止,Zend_Validate_IpsetOptions 方法中。此时,该文件被锁定写入并被httpd.exe持有。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多