php pdo 连接超时 错误码,PHP PDO连接失败会导致警告和脚本执行超时

在PHP中尝试使用PDO连接到MySQL数据库时,遇到问题。当MySQL服务器未运行,预期会触发PDOException,但实际上得到的是警告而非异常。开发者询问如何直接捕获这种错误,而不需要设置自定义错误处理器。他们提到PDO::__construct()在连接失败时应抛出异常,但实际行为不符合预期,导致了最大执行时间超时的致命错误。
摘要由CSDN通过智能技术生成

我试图像这样实例化一个PDO对象:

$this->pdo['pdo'] = new PDO('mysql:host=127.0.0.1;dbname=mydb;charset=UTF-8',

'myuser', 'my pass');

我想抓住我认为在MySQL服务器没有运行时会抛出的异常.

PHP.net说“如果尝试连接到请求的数据库失败,PDO :: __ construct()会抛出PDOException.”

但是,如果我关闭数据库服务器并运行脚本,我得到的是一个警告:

Warning: PDO::__construct() [pdo.--construct]: [2002] 'A connection attempt failed

because the connected party did not properly respond after a period of time, or

established connection failed because connected host has failed to respond.' in

C:\test\test.php on line 5

Fatal error: Maximum execution time of 60 seconds exceeded in C:\test\test.php

on line 0

没有异常被抛出.

有没有直接的方法来捕获错误(没有临时设置自定义错误管理器功能的麻烦?)

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值