修复 PHP 8.5 弃用告警:mysql 连接改用 Pdo\Mysql::ATTR_SSL_CA

config/database.php 的 mysql 连接 'options' 中原 PDO::MYSQL_ATTR_SSL_CA 在 PHP 8.5 起已弃用,改用命名空间常量 Pdo\Mysql::ATTR_SSL_CA。通过 class_exists 兜底,兼容本地 PHP 8.3(symfony/polyfill-php84 提供该常量),线上 8.5 走原生不触发弃用告警。
This commit is contained in:
2026-08-08 22:28:28 +08:00
parent 060eb79c09
commit 63ddce9c1d
+3 -1
View File
@@ -33,7 +33,9 @@ return [
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
// PHP 8.5 弃用 PDO::MYSQL_ATTR_SSL_CA,改用命名空间常量 Pdo\Mysql::ATTR_SSL_CA
// symfony/polyfill-php84 在 8.4 以下提供了该常量,故可向后兼容)
(\class_exists(\Pdo\Mysql::class) ? \Pdo\Mysql::ATTR_SSL_CA : \PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],