PDO连接MYSQL时候,超时时间无法改变

步慢生错 2016-03-11 11:14:45
RT,PDO尝试连接mysql,如果端口 地址什么的不对,连接失败居然要30秒,而且set_time_limit都无法减少时间,请问有没这情况。。stackoverflow有人给出例子,但是我运行之后仍然无效。php.net上说是diver不同可能效果不同,目前我的是PHP 5.5.12
代码在这里,大家可以跑一下:


<?php

try {

$gPdo = new PDO("mysql:host=192.168.1.151:37928;dbname=ZYJGBZSMZ","ZYJGBZSMZ","ZYJGBZSMZ",array(
PDO::ATTR_TIMEOUT => 3,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
}
catch (PDOException $e) {
exit('连接数据库错误: ' . mb_convert_encoding($e->getMessage(),'utf8','gb2312').'可能原因:数据库计算机没有打开');
}

...全文
569 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-03-11
  • 打赏
  • 举报
回复
执行你的代码(肯定是连不上的,因为我的配置与你不一样),3 秒后准时出现 连接数据库错误: SQLSTATE[HY000] [2002] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 可能原因:数据库计算机没有打开 前后加了 $t = microtime(1); 和 echo microtime(1) - $t;,输出 3,连小数都没有
xuzuning 2016-03-11
  • 打赏
  • 举报
回复
可能吧
步慢生错 2016-03-11
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
执行你的代码(肯定是连不上的,因为我的配置与你不一样),3 秒后准时出现 连接数据库错误: SQLSTATE[HY000] [2002] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 可能原因:数据库计算机没有打开 前后加了 $t = microtime(1); 和 echo microtime(1) - $t;,输出 3,连小数都没有
难道我的是机品问题?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧