gpt4 book ai didi

php - mysql 服务器已经消失 - 不是超时错误或崩溃

转载 作者:行者123 更新时间:2023-11-30 23:37:24 24 4
gpt4 key购买 nike

我正在使用 WAMP(Apache 2.2.11、MySQL 5.1.36、PHP 5.3.0)编写一个具有 MySQL 数据库链接的 PHP Web 应用程序。

我在 Toad 中运行一个大约需要 2 分钟才能执行的过程。如果我尝试在 PHP 应用程序中运行它,我会收到错误消息“MySQL 服务器已消失在...”、“读取结果集的 header 时出错”和“超过 60 秒的最大执行时间”

我将 mysql.connect_timeout 提高到 600(使用 ini_set)并将 default_socket_timeout 提高到 600(如 this question 中所建议)。这解决了超时错误,但我仍然得到前两个。

我尝试将 max_input_time 设置为 -1,在 MySQL 服务器端,我将 max_allowed_pa​​cket 增加到 256M。这些都没有解决问题。

有没有其他方法可以在不改变正在运行的 MySQL 过程的情况下绕过这个错误?

网页加载时:

set_time_limit(0);
ini_set('mysql.connect_timeout', 600);//for long queries
ini_set('default_socket_timeout', 600);//for long queries
//ini_set('max_input_time',-1); //don't know what this does

调用查询时:

if($reconnect===true){
$this->disconnectDB();
}
$this->connectToDB();
if($this->selectDB($dbName)===FALSE){
return false;
}
if(mysql_ping($this->con)===false){
return array();
}
$result = mysql_query($query,$this->con); //this is where the connection "goes away"

最佳答案

这是 PHP 设置的结果:超过 60 秒的最大执行时间。设置 set_time_limit(0) 以在需要时禁用时间限制。

MySQL 服务器已于...消失 可能是多种原因造成的。包括 MySQL 崩溃。您可能需要查看 mysql 日志以获取线索。

关于php - mysql 服务器已经消失 - 不是超时错误或崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6361451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com