From bdbe50d7d157c3f1648307d9ad9ae2d54fde70b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Wylega=C5=82a?= Date: Sun, 22 Feb 2026 20:15:45 +0100 Subject: [PATCH 1/3] Fixing deprecation in PHP 8.5 --- lib/Cake/Model/Datasource/Database/Mysql.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/Cake/Model/Datasource/Database/Mysql.php b/lib/Cake/Model/Datasource/Database/Mysql.php index 000a19ea95..5fb953c8e8 100644 --- a/lib/Cake/Model/Datasource/Database/Mysql.php +++ b/lib/Cake/Model/Datasource/Database/Mysql.php @@ -161,14 +161,23 @@ public function connect() { $config = $this->config; $this->connected = false; + // PDO::MYSQL_ATTR_* constants are deprecated in PHP 8.5; Pdo\Mysql class is available since PHP 8.1 + if (class_exists('Pdo\Mysql')) { + $mysqlAttrUseBufferedQuery = Pdo\Mysql::ATTR_USE_BUFFERED_QUERY; + $mysqlAttrInitCommand = Pdo\Mysql::ATTR_INIT_COMMAND; + } else { + $mysqlAttrUseBufferedQuery = PDO::MYSQL_ATTR_USE_BUFFERED_QUERY; + $mysqlAttrInitCommand = PDO::MYSQL_ATTR_INIT_COMMAND; + } + $flags = $config['flags'] + array( PDO::ATTR_PERSISTENT => $config['persistent'], - PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, + $mysqlAttrUseBufferedQuery => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ); if (!empty($config['encoding'])) { - $flags[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET NAMES ' . $config['encoding']; + $flags[$mysqlAttrInitCommand] = 'SET NAMES ' . $config['encoding']; } if (!empty($config['ssl_key']) && !empty($config['ssl_cert'])) { $flags[PDO::MYSQL_ATTR_SSL_KEY] = $config['ssl_key']; From 477274fd98652af6806df8c8e89ed218f1459c42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Wylega=C5=82a?= Date: Sun, 22 Feb 2026 20:21:39 +0100 Subject: [PATCH 2/3] Removed ancient code sniffer. --- composer.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 8557694a05..426391415f 100644 --- a/composer.json +++ b/composer.json @@ -29,8 +29,7 @@ "ext-intl": "Required to use IntlDateFormatter instead of strftime, if not Symfony polyfill will be used." }, "require-dev": { - "phpunit/phpunit": "^9.5", - "cakephp/cakephp-codesniffer": "^1.0.0" + "phpunit/phpunit": "^9.5" }, "config": { "vendor-dir": "vendors/", @@ -41,10 +40,8 @@ ], "scripts": { "check": [ - "@cs-check", "@test" ], - "cs-check": "./vendors/bin/phpcs -p --extensions=php --standard=CakePHP ./lib/Cake", "test": "./lib/Cake/Console/cake test core AllTests --stderr --verbose" } } From 5b96f43a99b8fe5a41de36f206b1eeedf0f005fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Wylega=C5=82a?= Date: Sun, 22 Feb 2026 20:26:25 +0100 Subject: [PATCH 3/3] Skip DNS resoultion failure. --- lib/Cake/Test/Case/Network/Http/HttpSocketTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Cake/Test/Case/Network/Http/HttpSocketTest.php b/lib/Cake/Test/Case/Network/Http/HttpSocketTest.php index 07dfb6c87a..9acdb5e0d9 100644 --- a/lib/Cake/Test/Case/Network/Http/HttpSocketTest.php +++ b/lib/Cake/Test/Case/Network/Http/HttpSocketTest.php @@ -1845,6 +1845,7 @@ public function testVerifyPeer() { } catch (SocketException $e) { $message = $e->getMessage(); $this->skipIf(strpos($message, 'Invalid HTTP') !== false, 'Invalid HTTP Response received, skipping.'); + $this->skipIf(strpos($message, 'getaddrinfo') !== false, 'Could not resolve host, network unavailable, skipping.'); $this->assertStringContainsString('Failed to enable crypto', $message); } }