#laravel #eloquent
#laravel #красноречивый
Вопрос:
Я пытаюсь переместить приложение Laravel 5.8 в Azure, но когда я запускаю приложение, я получаю следующую ошибку;
SQLSTATE[HY000] [2002] (SQL: select count(*) as aggregate from `users` where `email` = email@email.com and `suspended_at` is not null and `users`.`deleted_at` is null)
Сразу же я вижу, что адрес электронной почты в запросе не заключен в кавычки, и подумал, может ли это быть проблемой, но в то же время я скопировал это приложение непосредственно с другого сервера Linux, где оно работало отлично.
Веб-служба Azure настроена на запуск PHP 7.3.
Кто-нибудь сталкивался с этой ошибкой раньше?
Обновить:
Вот фрагмент из файла applications database.php
, который показывает, что он настроен на использование SSL (база данных SQL находится в Azure).
'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,
'sslmode' => env('DB_SSLMODE', 'prefer'),
'options' => [
PDO::MYSQL_ATTR_SSL_KEY => base_path('ssl/BaltimoreCyberTrustRoot.crt.pem'),
]
]
Я дважды проверил правильность учетных данных базы данных в файле приложений .env
. Я использую эти же учетные данные для подключения к базе данных с помощью MySQL Workbench, я знаю, что они работают.
Если возникает проблема с подключением к серверу, ведение журнала Laravel не дает мне никаких указаний на то, в чем может быть проблема, проблема с подключением к хосту, неверны ли учетные данные? Это что-то еще?
Комментарии:
1. В базе данных нет такого пользователя или может возникнуть ошибка подключения к базе данных.
2. Пользователь существует в базе данных. Может быть ошибка подключения, но ошибка не говорит мне об этом и не указывает, в чем может быть проблема с подключением.
3. Установите для папки папки папки хранилища значение 777
4. Папка хранения уже имеет права доступа 777
5. Откройте терминал, перейдите в папку проекта, запустите «обновление композитора»
Ответ №1:
Эта проблема была устранена путем использования прямого имени хоста для сервера базы данных вместо использования URL-адреса диспетчера трафика, предоставленного в Azure.