1

第一次在 AWS 上使用 Laravel Vapor 设置 SingleStore。

我不知道在哪里/如何指向 PDO 连接以使用 SingleStore 中的 SSL/pem。我将 pem 部署到应用程序根目录。

我的数据库配置是:

    'singlestore' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3307'),
        'database' => env('DB_DATABASE'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_general_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            PDO::ATTR_EMULATE_PREPARES => true
        ]) : [],
    ],

在 Vapor 环境中我尝试过:

 MYSQL_ATTR_SSL_CA=singlestore_bundel.pem
 MYSQL_ATTR_SSL_CA=~/singlestore_bundel.pem
 MYSQL_ATTR_SSL_CA=~/public/singlestore_bundel.pem

如何将 PDO 连接指向 pem?

谢谢

4

1 回答 1

1

Jack Ellis 帮助我了解他是如何使用 Fathom 的。

在数据库配置文件中,对于 SingleStore:

'options' => extension_loaded('pdo_mysql') && env('APP_ENV') !== 'testing' && env('APP_ENV') !== 'local' ? array_filter([
        PDO::MYSQL_ATTR_SSL_CA => resource_path('singlestore/singlestore_bundle.pem'),
        PDO::ATTR_EMULATE_PREPARES => true,
        PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => true,
        PDO::ATTR_PERSISTENT => (env('IS_HEROKU') == 'yes')
 ]) : [],
于 2021-12-24T01:32:39.933 回答