PHP 一直报错.而且还不能正常访问.这是什么情况PHP Warning: mysqli::mysqli()(HY000/2003)

OopsJeff 2013-08-23 01:19:23
[23-Aug-2013 00:29:57] PHP Warning: mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: (HY000/2003): Can't connect to MySQL server on '42.120.19.1' (10048) in D:\wwwroot\sms\common\DbManager.php on line 14
[23-Aug-2013 00:29:57] PHP Warning: mysqli::set_charset() [<a href='mysqli.set-charset'>mysqli.set-charset</a>]: Couldn't fetch mysqli in D:\wwwroot\sms\dao\PhoneDao.php on line 92
[23-Aug-2013 00:29:57] PHP Warning: PhoneDao::deleteUsedPhone() [<a href='phonedao.deleteusedphone'>phonedao.deleteusedphone</a>]: Couldn't fetch mysqli in D:\wwwroot\sms\dao\PhoneDao.php on line 93
[23-Aug-2013 00:29:58] PHP Warning: mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: (HY000/2003): Can't connect to MySQL server on '42.120.19.1' (10048) in D:\wwwroot\sms\common\DbManager.php on line 14
[23-Aug-2013 00:29:58] PHP Warning: mysqli::set_charset() [<a href='mysqli.set-charset'>mysqli.set-charset</a>]: Couldn't fetch mysqli in D:\wwwroot\sms\dao\SysParamDao.php on line 15
[23-Aug-2013 00:29:58] PHP Warning: SysParamDao::getSysParam() [<a href='sysparamdao.getsysparam'>sysparamdao.getsysparam</a>]: Couldn't fetch mysqli in D:\wwwroot\sms\dao\SysParamDao.php on line 16
[23-Aug-2013 00:29:58] PHP Warning: mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: (HY000/2003): Can't connect to MySQL server on '42.120.19.1' (10048) in D:\wwwroot\sms\common\DbManager.php on line 14
[23-Aug-2013 00:29:58] PHP Warning: mysqli::set_charset() [<a href='mysqli.set-charset'>mysqli.set-charset</a>]: Couldn't fetch mysqli in D:\wwwroot\sms\dao\SysParamDao.php on line 15
...全文
914 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
OopsJeff 2013-08-23
  • 打赏
  • 举报
回复
引用 12 楼 xuzuning 的回复:
$loop = 1; //重复连接的次数
do {
  $db = @ new mysqli(参数略);
}while($db->connect_error && $loop--);
if($db->connect_error) echo $db->connect_error;
[quote=引用 10 楼 meiyoudao 的回复:] [quote=引用 9 楼 xuzuning 的回复:] 设置最大并发数 只能缓解当前的矛盾 如果访问量继续增大怎么办?继续修改? 如果没有权限修改怎么办? 如果增大并发数后,数据库变慢怎么办?
是用等待+增加并发权衡吧? 那这个等待,是有try catch 还是 if else 连接失败返回值是什么?[/quote][/quote] 你看是不是因为我使用了默认的wait-timeout 8小时 我是不是可以设置为30秒. 30秒没进一步操作,强制关闭此链接呢?
xuzuning 2013-08-23
  • 打赏
  • 举报
回复
$loop = 1; //重复连接的次数
do {
  $db = @ new mysqli(参数略);
}while($db->connect_error && $loop--);
if($db->connect_error) echo $db->connect_error;
引用 10 楼 meiyoudao 的回复:
[quote=引用 9 楼 xuzuning 的回复:] 设置最大并发数 只能缓解当前的矛盾 如果访问量继续增大怎么办?继续修改? 如果没有权限修改怎么办? 如果增大并发数后,数据库变慢怎么办?
是用等待+增加并发权衡吧? 那这个等待,是有try catch 还是 if else 连接失败返回值是什么?[/quote]
OopsJeff 2013-08-23
  • 打赏
  • 举报
回复
引用 4 楼 jordan102 的回复:
将你的mysql的并发数改大点,或者减少php的并发请求数。
我用 ab -n 1000 -c 100 来测了一下.到300并发的时候自动关闭连接. 并不是我出现这样的问题
OopsJeff 2013-08-23
  • 打赏
  • 举报
回复
引用 9 楼 xuzuning 的回复:
设置最大并发数 只能缓解当前的矛盾 如果访问量继续增大怎么办?继续修改? 如果没有权限修改怎么办? 如果增大并发数后,数据库变慢怎么办?
是用等待+增加并发权衡吧? 那这个等待,是有try catch 还是 if else 连接失败返回值是什么?
xuzuning 2013-08-23
  • 打赏
  • 举报
回复
设置最大并发数 只能缓解当前的矛盾 如果访问量继续增大怎么办?继续修改? 如果没有权限修改怎么办? 如果增大并发数后,数据库变慢怎么办?
一起混吧 2013-08-23
  • 打赏
  • 举报
回复
设置最大并发数可以参考以下链接 http://hi.baidu.com/xiaoxvziboke/item/b8d1fc098b1a98e934990254
xuzuning 2013-08-23
  • 打赏
  • 举报
回复
是的,sleep 以秒为单位,usleep 以微秒为单位
OopsJeff 2013-08-23
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
偶尔出现就不算是问题 你可以做错误处理:在出现连不上时,等待一会比如0.5秒再连
如何等待?sleep(1); 吗?
OopsJeff 2013-08-23
  • 打赏
  • 举报
回复
引用 4 楼 jordan102 的回复:
将你的mysql的并发数改大点,或者减少php的并发请求数。
嗯.怎么查询并发数 SHOW STATUS WHERE variable_name like '%connection%'; 这个? 如何修改呢?
一起混吧 2013-08-23
  • 打赏
  • 举报
回复
将你的mysql的并发数改大点,或者减少php的并发请求数。
xuzuning 2013-08-23
  • 打赏
  • 举报
回复
偶尔出现就不算是问题 你可以做错误处理:在出现连不上时,等待一会比如0.5秒再连
OopsJeff 2013-08-23
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
他不是已经告诉你“无法连接到MySQL服务器(42.120.19.1)”了吗? 检查mysql是否启动 检查你的账户是否已经授权
是授权的 他不是一直连接不上. 是并发的有点多,然后偶尔出现这样的情况.所以也不知道是不是并发引起的.或者其他什么原因引起的.但不是一开始就无法连接的
xuzuning 2013-08-23
  • 打赏
  • 举报
回复
他不是已经告诉你“无法连接到MySQL服务器(42.120.19.1)”了吗? 检查mysql是否启动 检查你的账户是否已经授权

21,886

社区成员

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

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