我正在使用PHP和PDO对象连接到mysql。我有3个DB服务器,我的PHP代码可以连接到。如果我尝试连接到数据库服务器#1并且连接失败,我想立即尝试连接到数据库服务器#2。我可以使用下面的代码将连接超时时间设置为1秒。
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $username, $password,array(PDO::ATTR_TIMEOUT => "1",PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
理想情况下,我想将超时时间设置为<50毫秒。如果可能的话,或者0ms。有没有办法做到这一点?
答案 0 :(得分:6)
这是不可能的,因为底层MySQL驱动程序不允许它:
Request #60716: Ability to set PDO connection timeout in milliseconds
答案 1 :(得分:0)
我认为用毫秒设置超时是不可能的。请参阅mysql.connect_timeout
的{{3}}:
顺便说一下,我觉得你要做的事对我来说听起来有点mysql.connect_timeout:
以秒为单位连接超时。在Linux上,此超时也用于等待服务器的第一个答案。