You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony 7升级后无法SSL连接Azure MySQL,求正确配置

解决Symfony 7中Azure MySQL SSL连接配置问题

在Symfony 7中,YAML解析器不再支持将!php/const作为数组键使用,这导致你原有的配置语法失效。以下是两种可行的替代配置方式:

方式一:使用PDO常量的数值作为键

PDO::MYSQL_ATTR_SSL_CA对应的常量值为1009,可以直接在配置中使用这个数值作为options的键:

dbal:
    server_version: '8.0'
    driver: pdo_mysql
    url: '%env(resolve:DATABASE_URL)%'
    options:
        1009: '%env(resolve:CA_CERT)%'

方式二:使用PHP配置文件(更直观)

将Doctrine配置改为PHP文件形式(比如config/packages/doctrine.php),这样可以直接使用PHP常量作为键,代码可读性更高:

<?php

use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

return static function (ContainerConfigurator $configurator): void {
    $configurator->extension('doctrine', [
        'dbal' => [
            'server_version' => '8.0',
            'driver' => 'pdo_mysql',
            'url' => '%env(resolve:DATABASE_URL)%',
            'options' => [
                PDO::MYSQL_ATTR_SSL_CA => '%env(resolve:CA_CERT)%',
            ],
        ],
    ]);
};

两种方式都能让你正常通过SSL连接Azure MySQL数据库,推荐使用第二种方式,避免硬编码常量数值,后期维护更方便。

内容的提问来源于stack exchange,提问作者user3282502

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 06:42:11