Невозможно проверить SSL-сертификат базы данных PostgreSQL

Я новичок в Laravel и пытался подключиться к базе данных Azure PostgreSQL с помощью Laravel 11, но он продолжает сообщать мне, что не может проверить сертификат SSL. Когда я попытался подключиться к базе данных с помощью файла test.php, у меня не возникло проблем с подключением к базе данных.

Но когда я пытаюсь отредактировать файл .env, дайте ему те же учетные данные, что и test.php, запустите его, и он выдает ошибку SQLSTATE[08006] [7] SSL error: certificate verify failed

Я спросил

код test.php:

$conn = pg_connect("host=<host address> port=<port number> dbname=<database name> user=<username> password=<password> sslmode=require sslrootcert=c:\ssl\DigiCertGlobalRootCA.crt.pem");

Вы уверены, что файл сертификата имеет двойное расширение (.crt.pem)?

Olivier 05.04.2024 08:36

Это может помочь: stackoverflow.com/questions/78259406/…

Olivier 05.04.2024 08:36

@Olivier Да, я загрузил его прямо из Azure, и он работает, когда я тестировал его с помощью приведенного выше файла test.php. но проблема возникла, когда я попытался подключить его к Laravel.

Hanzcerb 05.04.2024 13:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
120
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я решил это, используя следующую конфигурацию для файла .env и базы данных.php в моем проекте Laravel:

.env-файл:

DB_CONNECTION=pgsql
DB_HOST=<your_host>
DB_PORT=<your_port>
DB_DATABASE=<your_database_name>
DB_USERNAME=<username>
DB_PASSWORD=<password>
# add your SSL certificate path following the example below
DB_URL=pgsql://<username>:<password>@<your_host>:<your_port>/<your_database_name>?sslmode=require&sslrootcert=<path_to_your_certificate>

конфигурация базы данных в «config/database.php»

'pgsql' => [
    'driver' => 'pgsql',
    'url' => env('DB_URL'), // add this line
    # ..... add the rest of your settings
],

Я не знаю, является ли приведенное выше решение лучшим решением или нет, но, по крайней мере, оно работает для меня.

Другие вопросы по теме