From dff0d33e07b828c9e78a6a770e9edc018bd9c14d Mon Sep 17 00:00:00 2001 From: lacpandore Date: Tue, 8 Oct 2024 22:12:10 +0200 Subject: [PATCH] Update doctrine.rst on ssl documentation --- reference/configuration/doctrine.rst | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/reference/configuration/doctrine.rst b/reference/configuration/doctrine.rst index e73f4eca599..ea5eb98ea02 100644 --- a/reference/configuration/doctrine.rst +++ b/reference/configuration/doctrine.rst @@ -470,5 +470,62 @@ If the ``dir`` configuration is set and the ``is_bundle`` configuration is ``true``, the DoctrineBundle will prefix the ``dir`` configuration with the path of the bundle. +SSL Connection with MySQL +~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you want to configure a secure SSL connection to MySQL in your Symfony application using Doctrine, you need to set specific options for the SSL certificates. Here's how to configure the connection using environment variables for the certificate paths: + +.. configuration-block:: + + .. code-block:: yaml + + doctrine: + dbal: + url: '%env(DATABASE_URL)%' + server_version: '8.0.31' + driver: 'pdo_mysql' + options: + # SSL private key (PDO::MYSQL_ATTR_SSL_KEY) + 1007: '%env(MYSQL_SSL_KEY)%' + # SSL certificate (PDO::MYSQL_ATTR_SSL_CERT) + 1008: '%env(MYSQL_SSL_CERT)%' + # SSL CA authority (PDO::MYSQL_ATTR_SSL_CA) + 1009: '%env(MYSQL_SSL_CA)%' + + .. code-block:: xml + + + + + + + + %env(MYSQL_SSL_KEY)% + %env(MYSQL_SSL_CERT)% + %env(MYSQL_SSL_CA)% + + + + +Make sure that your environment variables are correctly set in your ``.env.local`` or ``.env.local.php`` file as follows: + +.. code-block:: bash + + MYSQL_SSL_KEY=/path/to/your/server-key.pem + MYSQL_SSL_CERT=/path/to/your/server-cert.pem + MYSQL_SSL_CA=/path/to/your/ca-cert.pem + +This configuration secures your MySQL connection with SSL by specifying the paths to the required certificates. + + .. _DBAL documentation: https://www.doctrine-project.org/projects/doctrine-dbal/en/current/reference/configuration.html .. _`Doctrine Metadata Drivers`: https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/metadata-drivers.html