My idea is:
Add support for SSL connection to the database (Useful for Cloud based DB)
I think these groups of people would benefit from this idea:
People that would like to use Cloud Based Databases
Why I think they would benefit from this idea:
Ease of setup
Any code or resources to support this idea:
Add two fields to local.php
‘db_ssl’ => true
‘db_ca_file’ => ‘pathtocafile’
And an if statement that adds
PDO::MYSQL_ATTR_SSL_CA => ‘%mautic.db_ca_file%’
to this section of the app/config/config.php file
$container->loadFromExtension(‘doctrine’, [
‘dbal’ => [
‘default_connection’ => ‘default’,
‘connections’ => [
‘default’ => $connectionSettings,
‘unbuffered’ => array_merge($connectionSettings, [
‘options’ => [
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => false,
PDO::ATTR_STRINGIFY_FETCHES => true, //
@see
PHP: Backward Incompatible Changes - Manual
PDO::MYSQL_ATTR_SSL_CA => ‘%mautic.db_ca_file%’,
‘types’ => [
Types::ARRAY => Type\ArrayType::class,
Types::DATETIME_MUTABLE => Type\UTCDateTimeType::class,
Types::DATETIME_IMMUTABLE => Type\UTCDateTimeImmutableType::class,
Type\GeneratedType::GENERATED => Type\GeneratedType::class,
‘orm’ => [
‘auto_generate_proxy_classes’ => ‘%kernel.debug%’,
‘auto_mapping’ => true,
‘mappings’ => $bundleMetadataBuilder->getOrmConfig(),
‘dql’ => [
‘string_functions’ => [
‘match’ => DoctrineExtensions\Query\Mysql\MatchAgainst::class,
‘result_cache_driver’ => [
‘type’ => ‘pool’,
‘pool’ => ‘doctrine_result_cache’,
Are you willing to work on this idea?:
Unfortunately not a PHP or Mysql user.
What skills and resources do you need to explore this further?
I created the db_ca_file field in config/local.php
and added PDO::MYSQL_ATTR_SSL_CA => ‘%mautic.db_ca_file%
to the app/config/config.php
And it working with a cloud based provider for me.
Just want to add that the settings are lost in the app/config/config.php when you upgrade your version.
I see that you add some parameters to local.php, but you alter also something in the config.php The related section on my system reads the following:
$container->loadFromExtension('doctrine', [
'dbal' => $dbalSettings,
'orm' => [
'auto_generate_proxy_classes' => '%kernel.debug%',
'auto_mapping' => true,
'mappings' => $bundleMetadataBuilder->getOrmConfig(),
'dql' => [
'string_functions' => [
'match' => \DoctrineExtensions\Query\Mysql\MatchAgainst::class,
So do I need to add all the code you have there above? That is relevant for Mautic 4 and Mautic 5 alike? With which version did you test it? Because what I see the real magic happens there in the config.php
I am using Mautic 5
The parameters in the local.php are just for ease of editing as I would think that you wouldn’t want to mess around in the app/config/config.php too much 
And where I put the PDO::MYSQL_ATTR_SSL_CA was above your orm section.
So, I am not sure where it would go in your config.php but I would be looking for what $dbalSettings is referencing
You probably have something just above.