Ошибки SQL SSL при развертывании проекта laravel в Azure

Я развернул проект в Azure, и веб-страница отображается правильно, а ссылки работают нормально, но для регистрации пользователя мне нужно подключить базу данных. Все работает хорошо локально, и я выполнил все инструкции по созданию / подключению sqsl db в лазурном, но я получаю следующие 3 ошибки и не уверен, что делать, как отлаживать, это проект, который мне поручили деплоить, и я не создавал себя, (Я покажу только первые 3 строки ошибки, так как они длинные):

ОБНОВЛЕНИЕ: он работает, если я отключу SSL на лазурном, поэтому он имеет какое-то отношение к конфигурации моего локального приложения для этого

1-

 SQLSTATE[HY000] [9002] SSL connection is required. Please specify SSL options and retry. (SQL: select count(*) as aggregate from `users` where `email` = ***@***.com)

in Connection.php line 647
at Connection->runQueryCallback('select count(*) as aggregate from `users` where `email` = ?', array('***@***.com'), object(Closure))
in Connection.php line 607

2-

(2/3) PDOException
SQLSTATE[HY000] [9002] SSL connection is required. Please specify SSL options and retry.

in PDOConnection.php line 50
at PDOConnection->__construct('mysql:host=***.mysql.database.azure.com;port=**+;dbname=uwiredb', '***@***', 'MySQLAzure2017', array(0, 2, 0, false, false))
in Connector.php line 65
at Connector->createPdoConnection('mysql:host=***.mysql.database.azure.com;port=***;dbname=***', '***@***', 'MySQLAzure2017', array(0, 2, 0, false, false))
in Connector.php line 44

3-

(1/3) PDOException
SQLSTATE[HY000] [9002] SSL connection is required. Please specify SSL options and retry.

вот раздел DB моего файла .env:

    DB_CONNECTION=mysql
    DB_HOST=mydbserver.mysql.database.azure.com
    DB_DATABASE=mydb
    DB_USERNAME=myuser
    DB_PASSWORD=mypass
    MYSQL_SSL=true

А вот часть подключения моего файла database.php в папке config, я знаю хосты

 'connections' => [

'sqlite' => [
    'driver' => 'sqlite',
    'database' => env('DB_DATABASE', database_path('database.sqlite')),
    'prefix' => '',
],

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'homestead'),
    'username' => env('DB_USERNAME', 'homestead'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
    'sslmode' => env('DB_SSLMODE', 'prefer'),
    'options' => (env('MYSQL_SSL')) ? [
        PDO::MYSQL_ATTR_SSL_KEY    => '/ssl/BaltimoreCyberTrustRoot.crt.pem', 
    ] : [],
],

'pgsql' => [
    'driver' => 'pgsql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '5432'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'schema' => 'public',
    'sslmode' => 'prefer',
],

'sqlsrv' => [
    'driver' => 'sqlsrv',
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '1433'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
],

],

Я знаю, что хост установлен как локальный, но именно так я понял, что это должно быть из лазурных документов, в которых говорится:

You can use the PHP getenv method to access the settings. the Laravel code uses an env wrapper over the PHP getenv. For example, the MySQL configuration in config/database.php looks like the following code:

PHP

Copy
'mysql' => [
    'driver'    => 'mysql',
    'host'      => env('DB_HOST', 'localhost'),
    'database'  => env('DB_DATABASE', 'forge'),
    'username'  => env('DB_USERNAME', 'forge'),
    'password'  => env('DB_PASSWORD', ''),
    ...
],

Спасибо

извините, я подумал о том, что включить в сообщение, но забыл добавить все это в конце, только что обновил мои файлы .env и database.php

Jack 01.12.2018 18:37

Похоже, вам нужно добавить параметры SSL в вашу конфигурацию в файл database.php. Вам потребуются файлы сертификатов с сервера базы данных. Затем вам нужно указать их в параметрах подключения на сервере приложений.

user9189147 01.12.2018 18:48

Извините, я вставил неправильный файл database.php, я скопировал проект и по ошибке вставил новый. Я обновил сообщение, теперь вы можете видеть в database.php, что у него есть sslmode и параметры, которые объявляют использование baltimoresecuritycert. что было то, что лазурные документы сказали, что я должен был поставить: это вы имеете в виду ??? другие вещи в database.php, такие как хост и порт под mysql, я понял из лазурных документов, которые я оставляю такими, даже если они не являются настройками развертывания, и env записывает их, это правильно?

Jack 01.12.2018 18:57
Стоит ли изучать 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 и хотите разрабатывать...
0
3
1 280
0

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