首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php脚本随机挂起

php脚本随机挂起
EN

Stack Overflow用户
提问于 2010-05-05 18:24:22
回答 3查看 4.1K关注 0票数 1

我将php 5(更确切地说是5.3.1)安装为apache模块。

在我的应用程序随机挂起mysql_connect之后--有时工作,有时不工作,有时重新加载页面会有所帮助。

怎么解决这个问题呢?

我使用Windows,Apache2.2.14 (Win32) PHP5.3.1和php模块,MySql 5.0.67-community。

一分钟后,我获得了错误消息:

Fatal error: Maximum execution time of 60 seconds exceeded in path\to\mysqlcon.php on line 9

我在本地运行MySql,重载不能是原因之一:

SHOW PROCESSLIST显示了大约3个过程

SHOW VARIABLES LIKE 'MAX_CONNECTIONS'是100。

更新:

起初,我认为这与mysql_connect有关。但现在我说不准了。

更困难的是,当我插入要调试的行时:

$fh = fopen("E://_debugLog", 'a'); fwrite($fh, __FILE__ . " : " . __LINE__ . "\n"); fclose($fh);

脚本通常开始在该位置附近工作。

重新启动apache解决问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-15 23:49:55

它与Did I find a bug in PHP's crypt()?描述的问题有关。

票数 1
EN

Stack Overflow用户

发布于 2010-05-05 20:09:24

您可能达到了MySQL连接限制,试图连接的脚本将旋转其车轮,直到连接可用为止,但在此之前会运行到最大执行时间限制。当您遇到这些长期停顿之一时,跳到mysql监视器并执行SHOW PROCESSLIST,这将列出到服务器的所有连接。您可以使用SHOW VARIABLES LIKE 'MAX_CONNECTIONS'检索连接限制。如果活动进程的数量接近或位于max_connections值,这就是您的问题。

票数 1
EN

Stack Overflow用户

发布于 2010-05-08 17:39:33

试着隔离这个问题:

  1. 关闭了所有东西(apache )。
  2. 将apache和mysql的日志记录级别提高到了一个详细的级别(因此,您正在记录几乎-从现有脚本中调用mysql_connect的单个函数/代码),并创建一个新脚本,该脚本只执行查询mysql并返回结果。(您还可以对现有脚本中的所有内容进行注释),
    1. 重新启动所有内容,并在日志中查找您的脚本中的任何内容,并检查日志。很慢吗?日志里有什么奇怪的东西吗?如果不是很慢,就开始添加/取消对原始脚本的注释。慢下来了吗?日志中显示了什么?
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2775755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档