有没有一种方法可以使用PHP在PDO中设置max_allowed_pa​​cket?

时间:2020-05-21 10:29:13

标签: php mysql sql pdo

我碰到了

PHP致命错误:未捕获的PDOException:SQLSTATE [HY000]:常规错误:2006 MySQL服务器已消失

我正在寻找一种方法来更改超时和max_allowed_pa​​cket,而无需修改配置文件或重新启动服务器。我发现第一个具有名为ATTR_TIMEOUT的PDO ATTRIBUTE,但是我无法找到该大小的属性,我唯一找到的是一个MYSQL_ATTR_MAX_BUFFER_SIZE,它似乎已被弃用。 。我还有其他方法或属性可以使用吗?

并且在任何人问之前:我根本无法修改配置文件。

这是连接的完整代码,包括已弃用的属性:

try {
    $conn = new PDO('mysql:host=host;dbname=dbname','','');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $conn->setAttribute(PDO::ATTR_TIMEOUT, 360);
    $conn->setAttribute(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE, 1024*1024*10);
}catch(PDOException $e){
    echo "ERROR ACCOUNTING: " . $e->getMessage();
}

0 个答案:

没有答案