Php Can';t更改Laravel查找PostgreSQL SSL证书的位置

Php Can';t更改Laravel查找PostgreSQL SSL证书的位置,php,laravel,postgresql,ssl,Php,Laravel,Postgresql,Ssl,我已经安装了pgsql,并设置了我的Laravel config/database.php,如下所示: 'connection_name' => [ 'driver' => 'pgsql', 'host' => env('DB_HOST_2', '127.0.0.1'), 'port' => env('DB_PORT_2', '3306'), 'database' => env('DB_DATABASE_2'), 'usern

我已经安装了pgsql,并设置了我的Laravel config/database.php,如下所示:

'connection_name' => [
    'driver' => 'pgsql',
    'host' => env('DB_HOST_2', '127.0.0.1'),
    'port' => env('DB_PORT_2', '3306'),
    'database' => env('DB_DATABASE_2'),
    'username' => env('DB_USERNAME_2'),
    'password' => env('DB_PASSWORD_2', ''),
    'sslmode' => env('DB_SSLMODE_2'),
    'charset' => 'utf8',
    'prefix' => '',
    'options' => [
        'sslcert' => '/some/special/path.crt',
    ],
    'schema' => 'public',
],
“connection\u name”位于
database.php
的“connections”部分

在artisan tinker中,我得到以下错误,因为它仍在查找SSL证书的默认位置。我无法让它在正确的位置查找证书

>>> use Illuminate\Support\Facades\DB;
>>> DB::connection('connection_name')->getPdo()
Doctrine\DBAL\Driver\PDOException with message 'SQLSTATE[08006] [7] root certificate file "/home/wes/.postgresql/root.crt" does not exist
Either provide the file or change sslmode to disable server certificate verification.'
根证书由“sslrootcert”设置。这是签署服务器证书的证书

“sslcert”设置客户端证书。这是不同的。

根证书由“sslrootcert”设置。这是签署服务器证书的证书


“sslcert”设置客户端证书。这是另一回事。

我试过了。我试过“sslcert”、“sslrootcert”和“PGSSLCERT”。无论我做什么,它仍然试图从~/.postgresql/root.crt获取证书。我试过了。我试过“sslcert”、“sslrootcert”和“PGSSLCERT”。无论我做什么,它仍然试图从~/.postgresql/root.crt获取证书。为什么ssl(root)证书在“选项”中?这是文档里的还是教程里的?我不使用laravel,但我希望sslmode和sslrootcert是同级的,而不是不同级别的。我尝试将这些选项放在兄弟级别,但我看到Laracasts上有人建议Postgres的正确方法是将它们放在“选项”子级中。为什么ssl(根)证书在“选项”中?这是文档里的还是教程里的?我不使用laravel,但我希望sslmode和sslrootcert是同龄人,而不是处于不同的级别。我尝试将这些选项放在兄弟级别,但我看到Laracasts上有人建议,对博士后来说,正确的方法是将它们放在“选项”子级。