Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

mspace's avatar

How to set up remote mysql connection with ssl

My database.php file looks like this

        'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
  	    	PDO::MYSQL_ATTR_SSL_KEY => '/etc/mysql/client-ssl/client-key.pem',
                PDO::MYSQL_ATTR_SSL_CERT => '/etc/mysql/client-ssl/client-cert.pem',
                PDO::MYSQL_ATTR_SSL_CA => '/etc/mysql/client-ssl/ca.pem',
                PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false
            ]) : [],
        ],

but when I try to run migrations , I get this error

 SQLSTATE[HY000] [2002]  (SQL: select * from information_schema.tables where table_schema = project and table_name = migrations and table_type = 'BASE TABLE')

Please how can I properly set this up?

0 likes
2 replies
neilstee's avatar

@mspace have your tried clearing cache in artisan?

php artisan config:clear
php artisan config:cache
php artisan cache:clear
Mousestick's avatar

I had same problem and I simply found out that :

PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false 

doesn't work, as this :

PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => 'false' 

did solve my problem.

1 like

Please or to participate in this conversation.