From 8f5c30c8c1eaeacfd5d0daeb11cb48e49cec27d8 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 10 Jul 2025 18:06:19 +0400 Subject: [PATCH] =?UTF-8?q?forcer=20le=20timeout=20au=20d=C3=A9but?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- php/src/db/mysql/Mysql.php | 15 +++++++++++++++ php/src/db/pdo/Pdo.php | 5 ----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/php/src/db/mysql/Mysql.php b/php/src/db/mysql/Mysql.php index 3031583..f3ba8b7 100644 --- a/php/src/db/mysql/Mysql.php +++ b/php/src/db/mysql/Mysql.php @@ -6,6 +6,21 @@ use nulib\db\pdo\Pdo; class Mysql extends Pdo { const PREFIX = "mysql"; + static function config_setWaitTimeout(self $mysql): void { + $mysql->_exec("set session wait_timeout = 28800"); + } + const CONFIG_setWaitTimeout = [self::class, "config_setWaitTimeout"]; + + static function config_unbufferedQueries(self $mysql): void { + $mysql->db->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); + } + const CONFIG_unbufferedQueries = [self::class, "config_unbufferedQueries"]; + + protected const DEFAULT_CONFIG = [ + ...parent::DEFAULT_CONFIG, + self::CONFIG_setWaitTimeout, + ]; + function getDbname(): ?string { $url = $this->dbconn["name"] ?? null; if ($url !== null && preg_match('/^mysql(?::|.*;)dbname=([^;]+)/i', $url, $ms)) { diff --git a/php/src/db/pdo/Pdo.php b/php/src/db/pdo/Pdo.php index 094b784..d06f5dd 100644 --- a/php/src/db/pdo/Pdo.php +++ b/php/src/db/pdo/Pdo.php @@ -40,11 +40,6 @@ class Pdo implements IDatabase { } const CONFIG_errmodeException_lowerCase = [self::class, "config_errmodeException_lowerCase"]; - static function config_unbufferedQueries(self $pdo): void { - $pdo->db->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); - } - const CONFIG_unbufferedQueries = [self::class, "config_unbufferedQueries"]; - protected const OPTIONS = [ \PDO::ATTR_PERSISTENT => true, ];