>>> 帝国网站管理系统5.1开源测试版下载
帝国CMS进入开源时代
 帝国论坛休闲娱乐闲话灌水终于解决采集及入库时的mysql超时问题 【本版专题贴子】  
主题:终于解决采集及入库时的mysql超时问题 [加入收藏夹]   

kantys888
用户头衔:书生

精华贴   :0
发贴数   :14
经验值   :92
注册时间:2007-12-02
信息 搜索 好友 发送悄悄话 开源第一波:帝国备份王2008开源版发布】   [第 1 楼]
终于解决采集及入库时的mysql超时问题
你是不是在采集和入库时遇到过mysql gone away的错误?
这次做自己的站,第一次用ECMS,我在远程保存flash时和采集过程中遇到多次这种错误,在郁闷了一天后,终于找到办法,不敢独享,发给大家。
修改e/class/db_sql.php文件

function query($query)
{
    $this->sql=mysql_query($query) or die(mysql_error().'<br>'.str_replace($GLOBALS['dbtbpre'],'***_',$query));
    return $this->sql;
}
换成
function query($query)
{
    global $link;
    if(!mysql_ping($link)){
        db_close(); //注意:一定要先执行数据库连接关闭,这是关键
        $link = db_connect();
    }
    $this->sql=mysql_query($query) or die(mysql_error().'<br>'.str_replace($GLOBALS['dbtbpre'],'***_',$query));
    return $this->sql;
}
因为在采集时遇到连接慢或文件大的情况下,mysql连接被闲置,等到采集完成或文件保存完后要写入数据库时,mysql连接失效,而mysql不会自动重新连接,所以会出现错误,那么当检测到mysql连接失效时,只要把mysql连接关闭,再重新连接就可以了。
没有多做测试,不过原理肯定是没问题的,希望对大家有帮助。
------------------------------------------------
另WM老大的程序真的写得不错,本来做这个站是想自己写的,因为用过不少cms,用起来不太爽,这次用ECMS,基本只修改了很少的地方就达到自己的要求了,在这里赞一个!
希望能在细节和用户体验方面能再加强下,毕竟很多人都是不懂程序的。

[该贴被修改 1 次,最后修改时间 2007-12-16 01:52:03 ]



2007-12-16 01:49:43 已设置保密 顶部 回复 引用 报告 编辑 删除

it984
用户头衔:举人

精华贴   :0
发贴数   :285
经验值   :943
注册时间:2007-05-23
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 2 楼]




phome示范站点

2007-12-16 09:33:05 已设置保密 顶部 回复 引用 报告 编辑 删除

5starsgeneral
用户头衔:版主

精华贴   :1
发贴数   :1515
经验值   :2811
注册时间:2007-06-26
信息 搜索 好友 发送悄悄话 开源第一波:帝国备份王2008开源版发布】   [第 3 楼]




ECMS 5.1功能全开放!强大的帝国是你做站的首选!

2007-12-16 12:49:29 已设置保密 顶部 回复 引用 报告 编辑 删除

sky562310
用户头衔:秀才

精华贴   :0
发贴数   :90
经验值   :350
注册时间:2007-12-13
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 4 楼]

什么嘛 按你的方法设置好 后台都进不去了呀



www.studentmoney.cn SM赚钱网
2007-12-24 05:10:32 已设置保密 顶部 回复 引用 报告 编辑 删除

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :47888
经验值   :109433
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 开源第一波:帝国备份王2008开源版发布】   [第 5 楼]

你这样修改只会使mysql压力变大,更容易链接过多。而且mysql占用资源将更大。也有可能使服务器挂掉



[零基础入门教程] [模板制作教程] [采集使用教程]
2007-12-24 08:57:32 已设置保密 顶部 回复 引用 报告 编辑 删除

sooden
用户头衔:版主

精华贴   :9
发贴数   :1526
经验值   :3631
注册时间:2006-01-02
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 6 楼]

WC正解




流氓不可怕,就怕流氓有文化。

不在线可QQ 8686588 留言,上线必回。

QQ机器人测试:有兴趣的+QQ 993612958
2007-12-24 20:37:02 已设置保密 顶部 回复 引用 报告 编辑 删除

kantys888
用户头衔:书生

精华贴   :0
发贴数   :14
经验值   :92
注册时间:2007-12-02
信息 搜索 好友 发送悄悄话 开源第一波:帝国备份王2008开源版发布】   [第 7 楼]

谢谢指教,不过我还有几点说明一下,不是要反驳老大的意见,只是阐述下我的观点。
首先:我说的超时情况出现并不多,除了采集时偶尔会出现,平时正常使用时很少会出现吧,我这么修改只是为了无人值守采集时不致于出错。
第二:先执行了mysql_ping来判断连接是否失效,并不是每次都会去重新连接,而且我的mysql并不是用的永久连接,这样断掉一个连接,再产生一个连接,不会让mysql占用资源更大和服务器挂掉吧,我使用的是hostmonster虚拟主机,cpu使用有限制,我挂着采集了三个小时,没有出现问题。
第三:4楼的那位,不好意思,可能是服务器支持的原因,我只是在我的服务器上试了,适用性未验证。
另祝贺老大的心血4.7正式版出来了!!!




2007-12-26 22:14:28 已设置保密 顶部 回复 引用 报告 编辑 删除

dreamer
用户头衔:秀才

精华贴   :0
发贴数   :157
经验值   :370
注册时间:2007-01-17
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 8 楼]

參考參考






dreamer




2008-08-12 03:53:50 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1