有没有一种方法可以使用php在pdo中设置max_allowed_packet?

t1rydlwq  于 2021-08-09  发布在  Java
关注(0)|答案(0)|浏览(160)

我跑过去了
php致命错误:uncaughtpdoexception:sqlstate[hy000]:一般错误:2006 mysql服务器已经消失
我正在寻找一种方法来更改超时和最大\u允许的\u数据包,而无需修改配置文件或重新启动服务器。我发现第一个有一个pdo属性叫做 ATTR_TIMEOUT ,但我无法找到大小的属性,我唯一能找到的是 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();
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题