PHP保持PDO ATTR_PERSISTENT连接处于活动状态


PHP Keeping a PDO ATTR_PERSISTENT connection alive

我正在运行一个无休止的PHP脚本,PDO持久连接如下:

$conn=new PDO(
  'mysql:host=127.0.0.1','user','pass', array(PDO::ATTR_PERSISTENT => true)
);

mySQL wait_timeout变量设置为28800,出于测试目的,我将脚本闲置了12个小时;并且自动断开连接,所以我认为CCD_ 3属性被系统变量CCD_。

因此,我想知道,只要PHP脚本在运行,是否有一个设置或另一种PHP方法可以保持连接,这是否是一种好的做法。

我的B计划是每60分钟执行一次无资源的mySQL查询,以重置时钟。

OS:4GB RAM VPS Debian 64位SSD

我建议您用另一种方法来处理这种情况。每当需要在持久脚本中运行查询时,请确保存在连接。否则重新连接。

    try {
        echo "Testing connection...'n";
        $old_errlevel = error_reporting(0);
        self::$pdo->query("SELECT 1");
    } catch (PDOException $e) {
        echo "Connection failed, reinitializing...'n";
        self::init();
    }

你可以在这里找到完整的课堂示例。我还建议您在知道长时间不会使用脚本时,明确关闭脚本中的连接。