在PHP中动态更改mysqli连接超时

时间:2010-01-12 20:14:44

标签: php mysql timeout connection mysqli

如何使用PHP动态更改MySqli连接超时?我找到了以下手册,你可以在打开连接后设置一个选项,但它说它只支持Windows,因为PHP 5.3.1:

http://www.php.net/manual/en/mysqli.options.php

我正在使用PHP5.2.4,MySQLi(改进版)

my.cnf中的默认连接超时为20秒,但在一个特殊的php脚本中,我想在超时之前将其设置为更高的500秒。

3 个答案:

答案 0 :(得分:2)

$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 500)

manual

然而,从php到mysql的连接不是资源密集型的。恕我直言,最好有一个较小的超时并建立多个连接。这样做可以释放其他进程的连接。

答案 1 :(得分:2)

mysqli的正确解决方案是在打开连接后立即执行以下查询以将session.wait_timeout更改为更长时间:

SET @@session.wait_timeout=500

答案 2 :(得分:1)

我很抱歉这个混乱,但我使用的是Linux服务器,而不是Windows。我误解了自PHP 5.3.1以来在Windows上用TCP / IP支持的PHP docs 中的注释“,我认为这意味着该选项仅在Windows服务器上受支持。

好的,所以

$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 500);

对我来说非常适合。

由于